exponenta event banner

Контроль регенерации кода модели верхнего уровня

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

  • Структурная контрольная сумма модели изменилась.

  • Контрольная сумма только для верхней модели изменилась. Контрольная сумма только для верхней модели предоставляет информацию о параметрах верхней модели, таких как срок службы приложения, максимальный размер стека, выполнение команды, подробное описание и .rtw настройки отладки файла, и TLCOptions.

  • Выбран любой из следующих параметров конфигурации отладки TLC:

    • Запустить отладчик TLC при создании кода (TLCDebug)

    • Запуск покрытия TLC при формировании кода (TLCCoverage)

    • Включить утверждение TLC (TLCAssert)

    • Профиль TLC (ProfileTLC)

Независимо от того, регенерируется ли код модели верхнего уровня, процесс построения вызывает зацепы процесса построения и повторно запускает make-файл. Крючки включают в себя STF_make_rtw_hook функции и команда генерации посткодов. Этот процесс перекомпилирует и связывает внешние зависимости.

Авторы системных целевых файлов могут выполнять действия, связанные с регенерацией кода в STF_make_rtw_hook функции, вызываемые процессом построения. Эти действия включают принудительное или реагирующее на регенерацию кода. Дополнительные сведения см. в разделе Регенерация кода управления с помощью STF_make_rtw_hook.m.

Регенерация кода модели верхнего уровня

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

Процесс построения пропускает регенерацию кода модели верхнего уровня, когда проверки показывают оба:

  • Созданный код верхней модели является текущим для модели.

  • Настройки модели не требуют полной регенерации.

Это упущение может значительно сократить время сборки модели.

При использовании лицензии Embedded Coder ®, если изменить файл шаблона генерации кода (CGT), а затем перестроить модель, процесс генерации кода не принудит построение модели верхнего уровня. В этом случае см. раздел Принудительная регенерация кода верхней модели.

Принудительная регенерация кода модели верхнего уровня

Чтобы управлять или переопределять поведение построения модели верхнего уровня по умолчанию, используйте одну из следующих опций командной строки:

  • Для игнорирования контрольной суммы и принудительной регенерации кода модели верхнего уровня:

    • slbuild>(model,'ForceTopModelBuild',true)

    • slbuild(model,'StandaloneCoderTarget','ForceTopModelBuild',true)

  • Для очистки области построения модели достаточно для запуска регенерации кода модели верхнего уровня при следующем построении (slbuild только):

    slbuild(model,'CleanTopModel')

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

См. также

Связанные темы