Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

使用 Simulink Coder 生成代码

代码生成技术

MathWorks® 代码生成技术为算法生成 C 或 C++ 代码和可执行程序。您可以通过使用 MATLAB® 以编程方式编写算法,或在 Simulink® 环境中以图形方式编写算法。您可以为 MATLAB 函数和 Simulink 模块生成对实时和嵌入式应用程序很有用的代码。为浮点算法生成的源代码和可执行程序与 MATLAB 代码执行和 Simulink 仿真的功能行为的匹配度非常高。使用 Fixed-Point Designer 产品,您可以生成与模型仿真结果按位匹配的定点代码。代码生成之所以能实现如此广泛的支持和高度的准确性,是因为它紧密集成了 MATLAB 和 Simulink 的执行引擎和仿真引擎。Simulink 中内置的加速仿真模式就使用了代码生成技术。

代码生成技术及其相关产品还提供了一些工具,可供您在系统开发的 V 模型中应用。V 模型是系统开发的一种图形表现形式,它突出了开发过程中的验证和确认步骤。有关详细信息,请参阅系统开发的确认和验证

要了解包含 Simulink 模块、Stateflow® 图和 MATLAB 函数的模型设计模式以及与常用 C 结构之间的映射关系,请参阅 C 代码的建模模式 (Embedded Coder)

使用 Simulink Coder 的代码生成工作流

使用 MathWorks 代码生成技术生成独立的 C 或 C++ 源代码,用于实现快速原型、仿真加速和硬件在环 (HIL) 仿真:

  • 开发 Simulink 模型和 Stateflow 图,然后使用 Simulink Coder™ 产品从模型和图中生成 C/C++ 代码

  • 将要进行代码生成的 MATLAB 代码集成到 Simulink 模型内的 MATLAB Function 模块中,然后使用 Simulink Coder 产品生成 C/C++ 代码

您可以为大多数 Simulink 模块和许多 MathWorks 产品生成代码。此图显示通过使用 Simulink Coder 生成代码的产品工作流。支持代码生成的其他产品(如 Stateflow 软件)已可用。

代码生成工作流是系统开发的 V 模型的一部分。此过程包括代码生成、代码验证以及对可执行程序进行实时测试。要建立实时应用程序的快速原型,典型的任务包括:

  • 在模型配置集中配置模型以进行代码生成。

  • 使用 Code Generation Advisor 检查模型配置的执行效率。

  • 生成并查看 C 代码。

  • 为生成的代码创建并运行可执行文件。

  • 验证执行结果。

  • 编译目标可执行文件。

  • 运行外部模型目标程序。

  • 将 Simulink 连接到要进行测试的外部进程。

  • 使用信号监测和参数调优进一步测试您的程序。

以下是在应用程序开发过程中应用软件的典型工作流。

有关如何执行这些任务的详细信息,请参阅为模型生成 C 代码