Simulink转C代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Simulink转C代码
一、生成C代码。

1.首先建立模型。

2.为每根信号线取名字(与输入输出口的名字相同)。

3.为表格、常量等数据赋值(可通过变量)。

检验模型是否能够运行,能够正常运行时转
代码的前提。

4.通过data object wizard的find,check all,mpt,package,create命令封装数据。

5.通过model explorer修改输入输出数据的类型(单片机中运行时,设定为(u)int8,(u)int16
类型,可以采用继承属性Inherit: auto。

)。

注意包含Base workspace和自己模型下面的数据都要设定类型。

6.第一次配置好configuration parameters后,不需要再次配置,至此即可generate code。

关于configuration parameters:
Solver:
Hardware Implementation:
Code generation:
Report:
Comments:
Templates:
(图中的code templates是来自锡柴的,用simulink自带的templates也可以)
二、集成到目标代码里(针对codewarrior编译器)。

1.在sources文件下新建文件RTW,将生成的xxx_ert_rtw和slprj\ert\_sharedutils文件下的.c 和.h文件全部放进RTW中。

2.在codewarrior中添加RTW文件。

3.在初始化中定义输入输出数据并外部声明(BP_Var_Initial.h,BP_Var_Extern.h中)。

4.为实现标定功能,将标定数据(表格等)放在RAM和Flash中。

●将生成的数据定义和声明屏蔽掉。

●在Cal_Ram.h和Cal_Flash.h中分别定义变量,在Cal_Ram_Extern.h和Cal_Flash_Extern.h
中进行外部声明。

放在Flash中的数据可为变量添加后缀_Flash。

●在FlashReadToRam()函数中将Flash中的变量值读到对应的Ram变量中。

5.在正确的位置调用生成的.c文件下的函数。

相关文档
最新文档