从组件模型生成 C 服务接口代码
此示例向您展示如何生成使用服务代码接口的 C 代码。对于 C 组件部署,服务代码接口提供以下好处:
自定义的接口代码,包括用于维护执行期外和执行期间数据通信的数据一致性的内置保护措施
函数执行之外(之前和之后)函数之间数据传输的自定义代码
支持在任务中访问时间值
灵活的调度
将模型元素映射到完整的接口抽象,而不是存储类和特定属性设置
有关服务或数据代码接口之间的比较以及服务接口更多信息的链接,请参阅选择用于代码生成的代码接口。
如果您不熟悉 Embedded Coder®,或者您的应用程序代码自定义要求很少,则您可以使用图形工具和默认代码配置设置来快速生成生产质量的代码。您可以生成符合代码规范和标准的自定义代码,以便与现有的外部代码集成。可以使用工具来配置代码生成器以满足接口、代码外观、打包和优化的要求。
生成和审查部署到嵌入式系统的代码可以像使用 Embedded Coder 快速向导准备代码生成模型一样简单。然后,通过可从 Embedded Coder 访问的代码工具,您可以配置代码接口、启动代码生成并检查生成的代码。
示例模型
本教程使用示例模型 ComponentDeploymentFcn。
打开模型 ComponentDeploymentFcn。
open_system('ComponentDeploymentFcn')
该导出函数模型包括:
Initialize Function 模块从非易失性内存读取一个值并使用该值初始化状态变量。
触发式函数调用子系统,用于对积分算法建模。该子系统采用前向积分方法,将增益值 1.25 应用于状态变量,并将其输出发送到累加器子系统。积分器子系统非周期性执行。
周期性函数调用子系统从积分器子系统接收状态变量的值,将该值递增一,并应用一个在执行期间可调的增益值。累加器函数每 1 秒周期性执行一次,并维护状态变量的最新值。
Terminate Function 模块在累加器算法停止执行后将累加器子系统的输出写入非易失性内存。
您将学习如何:
使用 Embedded Coder 快速向导工具生成代码。
配置服务接口。
将模型参数配置为全局变量,用于在运行时进行调节。
使用示例测试框架模型
ComponentDeploymentFcnHarness.比较模型仿真和生成的代码结果的数值等效性部署生成的代码。
要开始本教程,请参阅Generate Code by Using Embedded Coder Quick Start。