Управляйте регенерацией кода верхней модели

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

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

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

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

    • Start TLC debugger when generating code (TLCDebug)

    • Start TLC coverage when generating code (TLCCoverage)

    • Enable TLC assertion (TLCAssert)

    • Profile 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 папка или сгенерированная папка кода модели из папки генерации кода.

См. также

Похожие темы