主要内容

配置多实例代码生成

默认情况下,对于顶层模型,代码生成器生成不可重入的代码。入口函数有一个 void-void 接口。代码通过共享对驻留在共享内存中的全局数据结构体的访问来与其他代码通信。

如果应用程序可以获益于代码重用,且代码的每次使用或每个实例需要保留其自己的独有数据,则可将模型配置为支持使用代码生成器生成可重入的支持多实例代码。多个程序可以同时使用可重入代码。当您为实现可重入性而配置模型时,执行(单步)入口函数使用根级输入和输出参量而不是全局数据结构体。

为多实例代码生成配置顶层模型

将模型配置参数代码接口打包设置为可重用函数

通过设置以下模型配置参数,应用其他诊断和代码生成控制:

  • 要选择当模型不符合多实例代码要求时代码生成器显示的诊断消息的严重性级别,请将参数多实例代码错误诊断设置为警告错误

  • 要控制生成的代码如何将根级模型输入和输出传递给可重用执行(单步)函数(需要 Embedded Coder),请将参数根级 I/O 传递方式设置为单个参量结构体引用模型数据结构体的一部分

  • 要在生成的文件 model.c 中包含使用 malloc 为模型数据结构体动态分配内存的函数(需要 Embedded Coder),请将参数使用动态内存分配进行模型初始化设置为 On

有关详细信息,请参阅从顶层模型生成可重入代码 (Embedded Coder)

为多实例代码生成配置引用模型

将模型配置参数每个顶层模型允许的实例总数设置为多个。使用此参数设置时,如果一个模型不包含阻止多次引用的构造,则可以在模型层次结构中多次引用该模型。如果模型无法被多次引用,则即使只存在一个引用,也会发生错误。

有关详细信息,请参阅Generate Reentrant Code from Simulink Function Blocks (Embedded Coder)