rtwbuild

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

Синтаксис

rtwbuild(model)
rtwbuild(model,name,value)
rtwbuild(subsystem)
rtwbuild(subsystem,'Mode','ExportFunctionCalls')
blockHandle = rtwbuild(subsystem,'Mode','ExportFunctionCalls')

Описание

пример

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

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

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

Не используйте rtwbuild, rtwrebuild, или команды slbuild с языком параллельного программирования показывают (Parallel Computing Toolbox), например, в цикле spmd или parfor. Для получения информации о параллельных сборках моделей, на которые ссылаются смотрите, Уменьшают Время изготовления для Моделей, на которые Ссылаются (Simulink Coder).

пример

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, созданный для кода, сгенерированного от заданной подсистемы, если Configuration Parameters> Code Generation> Verification> Advanced parameters> Create block установлен в SIL и если у вас есть Embedded Coder. Можно затем использовать блок SIL для тестирования верификации 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 и наборе Configuration Parameters> Code Generation> Verification> Advanced parameters> 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.

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

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

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

свернуть все

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

Пример: 'rtwdemo_exporting_functions'

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

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

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

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

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

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

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

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

  • Код TLC

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

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

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

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

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

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

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

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

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

true

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

false

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

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

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

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

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

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

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

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

свернуть все

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

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

  • Configuration Parameters> Code Generation> Verification> Advanced parameters> Create block установлен в SIL.

Советы

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

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

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

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

Представленный в R2009a