使用 embedded coder 生成代码
代码生成技术
mathworks® 代码生成技术为算法生成 c 或 c 代码和可执行程序。您可以通过使用 matlab® 以编程方式编写算法,或在 simulink® 环境中以图形方式编写算法。您可以为 matlab 函数和 simulink 模块生成对实时和嵌入式应用程序很有用的代码。为浮点算法生成的源代码和可执行程序与 matlab 代码执行和 simulink 仿真的功能行为的匹配度非常高。使用 产品,您可以生成与模型仿真结果按位匹配的定点代码。代码生成之所以能实现如此广泛的支持和高度的准确性,是因为它紧密集成了 matlab 和 simulink 的执行引擎和仿真引擎。simulink 中内置的加速仿真模式就使用了代码生成技术。
代码生成技术及其相关产品还提供了一些工具,可供您在系统开发的 v 模型中应用。v 模型是系统开发的一种图形表现形式,它突出了开发过程中的验证和确认步骤。有关详细信息,请参阅。
要了解包含 simulink 模块、stateflow® 图和 matlab 函数的模型设计模式以及与常用 c 构造之间的映射关系,请参阅。
使用 embedded coder 的代码生成工作流
embedded coder® 产品是对 matlab coder™ 和 simulink coder 产品的扩展,它提供了可用于嵌入式软件开发的功能。使用 embedded coder 产品,您可以生成具有人工代码清晰度和效率的代码。例如,您可以:
生成紧凑、快速的代码,这对实时仿真器、快速原型构建板、大规模生产中使用的微处理器以及嵌入式系统至关重要。
自定义生成的代码的外观。
针对特定的目标环境优化生成的代码。
集成现有应用程序、函数和数据。
利用有助于进行代码验证的追溯、报告和测试选项。
代码生成器支持按照两种工作流来设计、实现和验证生成的 c 或 c 代码。下图显示了设计和部署环境选项。
支持代码生成的其他产品(如 stateflow 软件)已可用。
要使用 matlab 代码开发算法以用于代码生成,请参阅从 matlab 代码中生成代码。
要在 simulink 模型中以 simulink 模块和 stateflow 图的形式实现算法并生成 c 或 c 代码,请参阅从 simulink 模型中生成代码。
从 matlab 代码中生成代码
使用 embedded coder 从 matlab 代码中生成代码的工作流需要以下产品:
matlab
matlab coder
embedded coder
matlab coder 支持部分核心 matlab 语言功能,包括程序控制构造、函数和矩阵运算。要生成 c 或 c 代码,您可以使用 matlab coder 工程或者在 matlab 命令行窗口中输入函数 codegen
。embedded coder 还提供其他一些选项和高级优化功能,可对生成的代码中的函数、文件和数据进行细粒度控制。有关这些选项和优化功能的详细信息,请参阅。
有关从 matlab 代码中生成代码的详细信息,请参阅。
要开始使用 embedded coder 从 matlab 代码中生成代码,请参阅。
从 simulink 模型中生成代码
使用 embedded coder 从 simulink 模型中生成代码的工作流需要以下产品:
matlab
matlab coder
simulink
simulink coder
embedded coder
您可以在 simulink 模型中通过 simulink 模块和 stateflow 图的形式实现各种算法。要从 simulink 模型中生成 c 或 c 代码,可以利用 embedded coder 提供的功能实现、配置和验证模型以进行代码生成。
如果您拥有使用 matlab 代码编写的算法,则可以使用 模块将 matlab 代码包含在 simulink 模型或子系统中。当您为 simulink 模型生成 c 或 c 代码时,matlab function 模块中的 matlab 代码会生成为 c 或 c 代码,并包含在生成的源代码中。
要开始使用 embedded coder 从 simulink 模型中生成代码,请参阅。
要了解如何使用 simulink 模块、stateflow 图和 matlab 函数为常用的 c 构造建模和生成代码,请参阅。