主要内容

控制再生的顶级模型代码

在重新构建模型时,默认情况下,构建过程将执行检查,以确定对模型或相关设置的更改是否需要重新生成顶级模型代码。如果下列任何一个条件为真,模型构建将重新生成顶级模型代码:

  • 模型的结构校验和已更改。

  • 只有顶级模型的校验和已经改变。仅顶级模型校验和提供有关顶级模型参数的信息,如应用程序寿命、最大堆栈大小、make命令、verbose和.rtw文件调试设置TLCOptions

  • 选择TLC调试配置参数:

    • 在生成代码时启动TLC调试器TLCDebug

    • 在生成代码时启动TLC覆盖TLCCoverage

    • 使TLC断言TLCAssert

    • 剖面薄层色谱ProfileTLC

无论顶部模型代码是否重新生成,构建过程都会调用构建过程钩子并重新运行makefile。钩子包括月31_make_rtw_hook函数和邮政编码生成命令。这个过程重新编译并链接外部依赖项。

中的系统目标文件作者可以执行与代码再生相关的操作月31_make_rtw_hook构建过程调用的函数。这些操作包括强制或响应代码再生。有关更多信息,请参见使用STF_make_rtw_hook.m控制代码再生

顶级模型代码的再生

如果检查确定需要顶级模型代码生成,则构建过程完全重新生成并编译模型代码。一个示例检查是,由于模型更新,以前生成的代码是否不当前。

当检查表明这两种情况时,构建过程将忽略顶部模型代码的重新生成:

  • 生成的顶层模型代码是当前模型的代码。

  • 模型设置不需要完全重新生成。

这个省略可以显著减少模型构建时间。

使用嵌入式编码器®如果您修改了代码生成模板(CGT)文件,然后重新构建您的模型,那么代码生成过程不会强制构建顶级模型。在这种情况下,请看顶级模型代码的力量再生

顶级模型代码的力量再生

如果你想控制或覆盖默认的顶级模型构建行为,使用以下命令行选项之一:

  • 忽略校验和并强制重新生成顶级模型代码:

    • slbuild>(模型“ForceTopModelBuild”,真的)

    • slbuild模型,‘StandaloneCoderTarget’,‘ForceTopModelBuild’,真的)

  • 要清理足够的模型构建区域,以便在下一次构建时触发顶级模型代码的重新生成(slbuild只):

    slbuild模型, ' CleanTopModel ')

控件可以强制重新生成顶层模型代码,方法是删除slprj的文件夹或生成的模型代码文件夹代码生成的文件夹

另请参阅

相关的话题