Embedded Coder® 生成的代码需要 MathWorks® 提供的支持文件。要将生成的代码转移到另一个开发环境(如专用编译系统)中,您必须转移这些支持文件。您可以使用 打开示例模型 该模型配置为在代码生成后运行 要手动生成 zip 文件,请执行下列操作:
zip 文件中的文件数量取决于 Embedded Coder® 的版本以及您使用的模型的配置。编译器可能需要 zip 文件中的部分文件。编译的可执行文件的大小 (RAM/ROM) 取决于链接过程。链接器很可能只包含必要的目标文件。 将生成的代码集成到现有系统中此示例说明如何将生成的代码集成到现有代码库中。该示例使用 Eclipse™ IDE 和 Cygwin™/gcc 编译器。所需的集成任务对于集成环境是通用的。 集成环境概述完整的嵌入式控制系统由多个硬件和软件组件组成。控制算法只是一种类型的组件。其他组件可以是:
通常,您不会在这些组件中使用生成的代码。但是,生成的代码包含用于连接这些组件的接口。MathWorks® 为许多常见的嵌入式控制器提供了硬件接口模块库。有关示例,请参阅 Embedded Targets 模块库。 此示例提供了说明如何编译完整系统的文件。主文件是 文件:
函数执行顺序与测试框架模型中和 匹配系统接口要进行集成,需要对生成的代码和现有系统代码的数据和函数接口进行匹配。在此示例中, 连接输入数据系统有三个输入信号: 人工文件 查看 连接输出数据在此示例中,您不需要直接访问系统的输出数据。示例 测试生成的代码 显示如何将输出数据保存到一个标准的日志文件。您可以通过引用文件 访问其他数据生成的代码包含存储常用数据的几个结构体,这些数据包括:
下表列出了常用数据结构体。根据模型的配置,生成的代码中将显示这些结构体的某种组合。数据在文件 Data Type Data Name Data Purpose Constants |model_cP| Constant parameters Constants |model_cB| Constant block I/O Output |model_U| Root and atomic subsystem input Output |model_Y| Root and atomic subsystem output Internal data |model_B| Value of block output Internal data |model_D| State information vectors Internal data |model_M| Time and other system level data Internal data |model_Zero| Zero-crossings Parameters |model_P| Parameters 匹配函数调用接口默认情况下,代码生成器生成的函数有一个 调用函数 在 Eclipse™ 环境中编译工程本示例使用 Eclipse™ IDE 和 Cygwin™ GCC 调试器编译嵌入式系统。示例提供了针对这两个程序的安装文件。软件组件和版本号为:
要安装和使用 Eclipse™ 及 GCC,请参阅 安装和使用 Cygwin 及 Eclipse。 您可以通过点击以下超链接为此示例安装文件: 或者,通过执行下列操作手动安装文件:
您可以使用 Eclipse™ 调试器来详细了解和评估生成的 C 代码的执行行为。请参阅示例 安装和使用 Cygwin 及 Eclipse。 要使用输入数据运行模型,请参阅 测试生成的代码。 |
|
来自: dudubao821 > 《软件算法》