Main Content

使用 Simulink Coder 进行代码生成

代码生成技术

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

当在 Simulink 环境中设计组件或完整应用程序时,您可以使用 Simulink Coder™ 或 Embedded Coder® 从您的模型中生成代码。

  • 使用 Simulink Coder 为实时和非实时应用的快速原型构建和硬件在环 (HIL) 测试生成代码。您可以通过使用 Simulink 调整和监测生成的代码,或在 MATLAB 和 Simulink 之外运行代码以及与代码交互。

  • 使用 Embedded Coder 为在生产中使用的嵌入式处理器生成可读、简洁、执行速度快的 C 或 C++ 代码。您可以应用自定义来控制所生成代码的效率和外观。例如,您可以通过配置数据和函数代码接口以及如何将代码打包到文件中来简化集成。Embedded Coder 提供用于调节参数、分析代码性能、测试数值等效性以及执行代码覆盖率和可追溯性分析的工具。

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

使用 Simulink Coder 进行代码生成

使用 Simulink Coder 为以下各项生成 C 或 C++ 源代码:

  • 基于问题的学习

  • 用于概念验证开发、测试和优化的快速原型构建和实时仿真

  • 开发快速原型构建和硬件在环 (HIL) 即交即用式解决方案

  • 运行在桌面平台上的应用程序二进制文件

  • 提供知识产权保护的模型设计和生成代码的开发

快速原型构建和实时仿真Deploy Environment Model for Real-Time Hardware-In-the-Loop (HIL) Simulation介绍使用 Simulink Coder 部署快速原型构建的算法模型和部署实时 HIL 仿真的环境模型。

有关开发快速原型构建和 HIL 即交即用式解决方案的信息,请参阅代码和工具自定义Simulink Real-Time™Simulink Desktop Real-Time™

模型保护提供有关开发提供知识产权保护的模型和生成代码的信息。

要为大规模生产中使用的嵌入式处理器生成和部署代码,请使用 Embedded Coder。Embedded Coder 扩展 Simulink Coder 的功能,包括(但不限于):

  • 生成可以与外部代码集成的函数代码模块

  • 高级代码优化

  • 控制代码外观,包括代码接口

  • 用于验证、测试和认证的各种工具

您可以为大多数 Simulink 模块和许多 MathWorks 产品生成代码,如Use Products and Blocks Supported for Code Generation所示。下图显示如何使用 Simulink Coder 来生成和部署代码。

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

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

  • 使用代码生成顾问检查模型配置的执行效率。

  • 生成并查看 C 代码。

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

  • 验证执行结果。

  • 编译目标可执行文件。

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

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

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

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

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