rtwbuild

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

Описание

пример

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

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

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

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

пример

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.

Отобразите информацию о сборке в Окне Состояния Процесса сборки при генерации кода и выполнении параллельной сборки модели 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 файлы

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

В качестве альтернативы можно обеспечить регенерацию кода топ-модели путем удаления папок в папке генерации кода (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. Для получения дополнительной информации об использовании окна состояния, Состояния Процесса сборки вида на море.

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

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

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

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

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

свернуть все

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

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

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

Советы

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

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

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

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

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