rtwbuild

Создайте сгенерированный код из модели

Описание

пример

rtwbuild(model) генерирует код от model на основе настроек параметра конфигурации текущей модели. Если model уже не загружается в среду MATLAB®, rtwbuild загрузки это прежде, чем сгенерировать код.

Если вы очищаете параметр конфигурации модели Generate code only, функция генерирует код и создает исполняемый образ.

Уменьшать время генерации кода, при восстановлении модели, rtwbuild обеспечивает инкрементную сборку модели. Генератор кода восстанавливает модель или подмодели только, когда они изменились начиная с новой сборки модели. Чтобы обеспечить сборку топ-модели, смотрите 'ForceTopModelBuild' аргумент.

пример

rtwbuild(model,Name,Value) дополнительные опции использования заданы одним или несколькими Name,Value парные аргументы.

пример

rtwbuild(subsystem) генерирует код от subsystem на основе настроек параметра конфигурации текущей модели. Прежде, чем инициировать сборку, открытую (или загрузка) родительская модель.

Если вы очищаете параметр конфигурации модели Generate code only, функция генерирует код и создает исполняемый образ.

пример

rtwbuild(subsystem,'Mode','ExportFunctionCalls') генерирует код от subsystem это включает вызовы функции, которые можно экспортировать в код внешнего приложения, если у вас есть Embedded Coder®.

пример

blockHandle = rtwbuild(subsystem,'Mode','ExportFunctionCalls') возвращает указатель на блок SIL, созданный для кода, сгенерированного от заданной подсистемы, если параметр конфигурации Create block установлен в SIL и если у вас есть Embedded Coder. Можно затем использовать блок SIL для числового эквивалентного тестирования.

Примеры

свернуть все

Сгенерируйте код С для модели rtwdemo_rtwintro.

rtwbuild('rtwdemo_rtwintro')

Для системного конечного файла GRT генератор кода производит следующие файлы кода и размещает их в папки rtwdemo_rtwintro_grt_rtw и slprj/grt/_sharedutils.

Файлы моделиСовместно используемые файлыИнтерфейсные файлыДругие файлы

rtwdemo_rtwintro.c

rtwdemo_rtwintro.h

rtwdemo_rtwintro_private.h

rtwdemo_rtwintrotypes.h

rtGetInf.c

rtGetInf.h

rtGetNaN.c

rtGetNaN.h

rt_nonfinite.c

rt_nonfinite.h

rtwtypes.h

multiword_types.h

builtin_typeid_types.h

rtmodel.h

rt_logging.c

Если следующие настройки параметров конфигурации модели применяются, генератор кода приводит к дополнительным результатам.

Установка параметраРезультаты
Code Generation> Generate code only очищенИсполняемый образ rtwdemo_rtwintro.exe
Code Generation> Report> Create code generation report выбранСообщите, что это предоставляет информацию и ссылки на файлы сгенерированного кода, подсистему и отчеты интерфейса кода, функции точки входа, импорт, выходные порты, интерфейсные параметры и хранилища данных

Сгенерируйте код и создайте исполняемый образ для rtwdemo_mdlreftop, который обращается к модели rtwdemo_mdlrefbot, независимо от контрольных сумм модели и установок параметров.

rtwbuild('rtwdemo_mdlreftop', ...
    'ForceTopModelBuild',true)

Введите ошибку модели rtwdemo_mdlreftop и сохраните модель как rtwdemo_mdlreftop_witherr. Отобразите сообщения об ошибке сборки в Диагностическом Средстве просмотра и в Командном окне при генерации кода и создании исполняемого образа для модели rtwdemo_mdlreftop_witherr.

rtwbuild('rtwdemo_mdlreftop_witherr', ...
    'OkayToPushNags',true)

Сгенерируйте код С для подсистемы Amplifier в модели rtwdemo_rtwintro.

rtwbuild('rtwdemo_rtwintro/Amplifier')

Для цели GRT генератор кода производит следующие файлы кода и размещает их в папки Amplifier_grt_rtw и slprj/grt/_sharedutils.

Файлы моделиСовместно используемые файлыИнтерфейсные файлыДругие файлы

Amplifier.c

Amplifier.h

Amplifier_private.h

Amplifier_types.h

rtGetInf.c

rtGetInf.h

rtGetNaN.c

rtGetNaN.h

rt_nonfinite.c

rt_nonfinite.h

rtwtypes.h

multiword_types.h

builtin_typeid_types.h

rtmodel.h

rt_logging.c

Если вы применяете перечисленные в таблице установки параметров, генератор кода приводит к перечисленным результатам.

Установка параметраРезультаты
Code Generation> Generate code only очищенИсполняемый образ Amplifier.exe
Code Generation> Report> Create code generation report выбранСообщите, что это предоставляет информацию и ссылки на файлы сгенерированного кода, подсистему и отчеты интерфейса кода, функции точки входа, импорт, выходные порты, интерфейсные параметры и хранилища данных

Чтобы экспортировать изображение в код внешнего приложения, создайте исполняемый образ из подсистемы вызова функций.

rtwdemo_exporting_functions
rtwbuild('rtwdemo_exporting_functions/rtwdemo_subsystem','Mode','ExportFunctionCalls')

Исполняемый образ rtwdemo_subsystem.exe появляется в вашей рабочей папке.

От подсистемы вызова функций создайте блок SIL, который можно использовать, чтобы протестировать код, сгенерированный из модели.

Открытая подсистема rtwdemo_subsystem в модели rtwdemo_exporting_functions и набор параметр конфигурации модели Create block к SIL.

Создайте блок SIL.

mysilblockhandle = rtwbuild('rtwdemo_exporting_functions/rtwdemo_subsystem',...
'Mode','ExportFunctionCalls')

Генератор кода производит блок SIL для сгенерированного кода подсистемы. Можно добавить блок в среду или модель тестовой обвязки, которая предоставляет вход стимула или тестовые векторы. Можно затем запустить симуляции, которые выполняют тесты SIL и проверяют, что сгенерированный код в блоке SIL приводит к тому же результату как исходная подсистема.

Назовите функцию инициализации сгенерированной при создании исполняемого образа из подсистемы вызова функций.

rtwdemo_exporting_functions
rtwbuild('rtwdemo_exporting_functions/rtwdemo_subsystem',...
'Mode','ExportFunctionCalls','ExportFunctionInitializeFunctionName','subsysinit')

Имя функции инициализации subsysinit появляется в rtwdemo_subsystem_ert_rtw/ert_main.c.

Отобразите информацию о сборке в окне Build Status при генерации кода и выполнении параллельной сборки модели rtwdemo_mdlreftop_witherr.

rtwbuild('rtwdemo_mdlreftop_witherr', ...
    'OpenBuildStatusAutomatically',true)

Входные параметры

свернуть все

Модель, для которой можно сгенерировать код или создать исполняемый образ в виде объекта или вектора символов, представляющего имя модели.

Пример: 'rtwdemo_exporting_functions'

Подсистема, для которой можно сгенерировать код или создать исполняемый образ в виде вектора символов, представляющего имя подсистемы или полный блок path.

Пример: 'rtwdemo_exporting_functions/rtwdemo_subsystem'

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: rtwbuild('rtwdemo_mdlreftop','ForceTopModelBuild',true)Пример: rtwbuild (subsystem, 'Режим', 'ExportFunctionCalls', 'ExportFunctionInitializeFunctionName', fcnname)

Обеспечьте регенерацию кода топ-модели в виде true или false.

ДействиеЗадать
Обеспечьте генератор кода, чтобы регенерировать код для топ-модели системы, которая включает модели, на которые ссылаются, true
Укажите, что генератор кода определяет, регенерировать ли код топ-модели на основе изменений параметра модели и параметра модели false

Рассмотрите регенерацию принуждения кода для топ-модели, если вы изменяете элементы, сопоставленные с внешним или пользовательским кодом, такие как код для пользовательской цели. Например, установите ForceTopModelBuild к true если вы изменяетесь:

  • Код TLC

  • Исходный код S-функции, включая rtwmakecfg.m файлы

  • Интегрированный пользовательский код

В качестве альтернативы можно обеспечить регенерацию кода топ-модели путем удаления папок в папке генерации кода, таких как slprj или сгенерированная папка типового кодекса.

Отобразите сообщения об ошибке от сборки в Диагностическом Средстве просмотра в виде true или false.

ДействиеЗадать
Отобразите сообщения об ошибке сборки в Диагностическом Средстве просмотра и в Командном окнеtrue
Отобразите сообщения об ошибке сборки в Командном окне толькоfalse

Если вы не задаете значение, Generate code only (GenCodeOnly) опция на Code Generation разделяет поведение процесса сборки средств управления на области.

Если вы задаете значение, аргумент заменяет Generate code only (GenCodeOnly) опция на панели Code Generation.

ДействиеЗадать

Сгенерируйте код только.

true

Сгенерируйте код и создайте исполняемый файл.

false

Если у вас есть Embedded Coder, генерирует код от subsystem это включает вызовы функции, которые можно экспортировать в код внешнего приложения.

Назовите экспортируемую функцию инициализации для заданной подсистемы.

Отобразите информацию о сборке в окне Build Status в виде true или false. Для получения дополнительной информации об использовании окна Build Status смотрите, что Параллель Монитора Создает из Моделей, на которые Ссылаются.

Окно Build Status поддерживает параллельные сборки иерархий модели, на которые ссылаются. Не используйте окно Build Status для последовательных сборок.

ДействиеЗадать
Отобразите информацию о сборке в окне Build Statustrue
Никакое действиеfalse

Задайте, сгенерировать ли запутываемый код С в виде true или false.

ДействиеЗадать
Сгенерируйте запутываемый код С, который можно совместно использовать с третьими лицами с уменьшаемой вероятностью заключения компромисса интеллектуальной собственности.true
Никакое действие.false

Опция, чтобы создать цели симуляции модели - ссылки в виде разделенной запятой пары, состоящей из 'IncludeModelReferenceSimulationTargets' и true или false.

Типы данных: логический

Выходные аргументы

свернуть все

Обработайте к блоку SIL, созданному для сгенерированного кода подсистемы. Возвращенный, только если оба из следующих условий применяются:

  • Вам разрешают использовать программное обеспечение Embedded Coder.

  • Параметр конфигурации модели Create block установлен в SIL.

Советы

Можно инициировать генерацию кода и процесс сборки:

  • Нажатие Ctrl+B.

  • Выбор Code> C/C++ Code> Build Model.

  • Вызов slbuild команда из командной строки MATLAB.

Вопросы совместимости

развернуть все

Поведение изменяется в R2020b

Расширенные возможности

Представленный в R2009a
Для просмотра документации необходимо авторизоваться на сайте