Main Content

使用快速向导工具生成代码

快速向导工具可帮助您准备模型以生成可读且高效的代码。要启动该工具,请打开 Embedded Coder®。在 C 代码选项卡上,点击快速向导

启动该工具后,您必须回答以下关于要生成的代码的问题:

  • 什么是用于代码生成的模型或子系统?

  • 您生成的代码的代码输出类型是什么?

  • 您的应用程序是否需要可重入的多实例代码?

  • 目标硬件处理器类型是什么?

  • 您的主要代码生成目标是什么?

该工具根据模型验证您的选择,并显示生成代码所需的参数更改。如果您选择生成代码,该工具会将参数更改应用于您的配置集并生成代码。在代码生成后,您可以查看代码生成报告,并找到有关编译、自定义、优化和打包代码的信息。有关代码生成报告的详细信息,请参阅Reports for Code Generation

要进一步自定义您的生成代码,请点击完成,然后在代码透视环境中使用 Embedded Coder。代码透视提供了相应的工具来控制生成代码中模型数据和函数的名称和表示。有关详细信息,请参阅C Data Code Interface Configuration for Model Interface Elements

快速向导模型分析

在快速向导流程的每个步骤中,该工具都会根据您的选择来验证您的模型。该工具检查是否存在阻止您继续进行代码生成的模型条件。在分析步骤中,该工具还必须检查您的模型或子系统以获得以下问题的回答。回答有助于确定代码部署的最佳配置。

您的系统中有几种采样率?

快速向导工具会评估您的模型以确定系统中的周期性采样率的数目。

单速率您的模型只有一种周期性采样率。生成的代码有单一入口函数,它以采样率的时间间隔运行。
多速率

您的模型有多种周期性采样率。生成的代码可能不会以相同的时间间隔执行。在分析步骤后,您可以选择为所有采样率生成单一入口函数,也可以为每个采样率生成一个不同的入口函数。

如果选择生成多任务代码,代码生成器会生成多个入口函数。这些函数将作为多个任务运行。每个入口函数的调用间隔由模型中配置的采样率定义。

如果您的模型包含异步速率,则会生成额外的入口函数,它将以特定的中断时间运行。

有关采样率的详细信息,请参阅基于时间的调度和代码生成

您的系统是否包含连续状态?

快速向导工具会评估模型中的连续模块以确定要使用的正确求解器。

如果系统不包含连续状态,快速向导工具会将模型配置为使用定步长离散求解器来生成代码(如果尚未选择求解器)。
如果系统包含连续状态,快速向导工具会将模型配置为使用定步长连续求解器来生成代码(如果尚未选择求解器)。该工具还会选择 SupportContinuous 配置参数。

有关求解器的详细信息,请参阅求解器选择标准

您是否对系统进行了相应的配置以导出函数调用?

快速向导工具会评估您的模型,以查看是否必须生成调度器代码。

如果没有为导出函数调用配置系统,则生成的代码将包括系统算法代码和调度器代码。
如果您为导出函数调用配置了系统,则生成的代码将包括系统算法代码。您可以手动编写调度器代码,也可以从其他模型生成。

有关详细信息,请参阅导出函数模型概述

您的系统是否包含引用模型?

快速向导工具会评估您的模型,看它是否依赖来自其他模型的代码。

如果您的系统不包含引用模型,则生成的代码将不依赖来自其他模型的代码。
如果您的系统包含引用模型,则为您的模型生成的代码将依赖从引用模型生成的其他模块。代码生成器可以优化生成的代码,因为它知道您的模型和引用模型之间的关系。当快速向导工具将配置参数更改应用于您的模型时,它也会将这些更改应用于引用模型。

有关详细信息,请参阅Generate Code for Model Reference Hierarchy

具有配置引用的模型的配置参数更改

要将配置参数更改应用于具有活动配置引用的模型,快速向导工具会执行下列操作:

  • 在包含原始配置集的工作区或数据字典中创建 Simulink.ConfigSet 对象 QuickStart_timestamp。新对象是应用了参数更改的原始配置集的副本。

  • 创建指向新配置集对象的 Simulink.ConfigSetRef 对象。

  • 将新配置引用附加到模型,并使其成为活动配置。

  • 如果您的系统包含共享原始配置集的引用模型,该工具会将新配置引用附加到引用模型,并使新配置引用成为活动配置。

要还原原始配置集,请激活原始 Simulink.ConfigSetRef 对象。

注意

如果快速向导工具在 MATLAB® 工作区中创建配置集对象,则您必须保存该对象,以便在 MATLAB 会话结束后保留配置集。有关详细信息,请参阅保存配置集

后续步骤

在使用快速向导工具生成代码后,该工具会提示可能需要执行以下后续步骤:

其他后续步骤包括:

要在生成的代码中控制模型数据和函数的名称和表示,请使用 Embedded Coder 中的代码映射编辑器和模型数据编辑器。有关详细信息,请参阅C Data Code Interface Configuration for Model Interface Elements

相关主题