exponenta event banner

rtwbuild

(Не рекомендуется) Создать созданный код из модели

rtwbuild не рекомендуется. Использовать slbuild вместо этого.

Описание

пример

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

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

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

пример

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

пример

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

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

пример

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

пример

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

Примеры

свернуть все

Создание кода C для модели 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

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

Настройка параметровРезультаты
Генерация кода > Только генерация кода очищенаИсполняемый образ rtwdemo_rtwintro.exe
Создание кода > Отчет > Создание отчета по созданию кодаОтчет, содержащий информацию и ссылки на сгенерированные файлы кода, отчеты по интерфейсам подсистем и кодов, функции точек входа, входы, выходы, параметры интерфейса и хранилища данных

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

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

Создание кода C для подсистемы 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

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

Настройка параметровРезультаты
Генерация кода > Только генерация кода очищенаИсполняемый образ Amplifier.exe
Создание кода > Отчет > Создание отчета по созданию кодаОтчет, содержащий информацию и ссылки на сгенерированные файлы кода, отчеты по интерфейсам подсистем и кодов, функции точек входа, входы, выходы, параметры интерфейса и хранилища данных

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

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

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

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

Открытая подсистема rtwdemo_subsystem в модели rtwdemo_exporting_functions и задайте для параметра конфигурации «Создать модель блока» значение 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'

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

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

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

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

Пример: rtwbuild('rtwdemo_mdlreftop','ForceTopModelBuild',true)

Принудительная регенерация кода модели верхнего уровня, указанного как true или false.

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

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

  • Код TLC

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

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

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

Если значение не указано, используется только команда «Создать код» (GenCodeOnly) на панели «Создание кода» управляет поведением процесса построения.

При указании значения аргумент переопределяет только параметр «Создать код» (GenCodeOnly) на панели «Создание кода».

ДействиеОпределить

Создать только код.

true

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

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

  • 'Normal' -- Не экспортирует вызовы функций.

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

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

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

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

ДействиеОпределить
Отображение информации о построении в окне Статус построенияtrue
Никаких действийfalse

Укажите, следует ли создавать запутанный код C, указанный как true или false.

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

Опция для построения целевых объектов моделирования привязки модели, заданная как разделенная запятыми пара, состоящая из 'IncludeModelReferenceSimulationTargets' и true или false.

Типы данных: logical

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

свернуть все

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

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

  • Параметру конфигурации Создать модель блока присвоено значение SIL.

Совет

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

  • Нажатие клавиш Ctrl + B.

  • Выберите «Код» > «Код C/C + +» > «Модель построения».

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

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

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

В R2020b изменилось поведение

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

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