单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 176|回复: 0
收起左侧

simuliank转换成dsp

[复制链接]
zifeng5221 发表于 2019-8-14 10:45 | 显示全部楼层 |阅读模式
Simulink转C代码

一、Simulink 转代码设置
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:

Data Import/Export

Optimization:

Hardware Implementation:

Code generation:

Report:

Comments:

Interface:

Templates:

(图中的code templates是来自锡柴的,用simulink自带的templates也可以)
Memory Section:

二、Model  configuration 说明-20170624
这里阶段模型配置的3种方法:
第1种是第一章里面介绍的方法,手动逐条修改;
第2种是在原有配置基础上,export出m文件,修改后再inport;


第3种则是利用simulink中自带的模块Configuration Wizard,调用rtwsampleconfig函数,函数中的具体设置可以手动更改。

实际使用中,推荐第二种方法!
二、集成到目标代码里(针对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文件下的函数。


P7Q0_$$GGOVH)H]U_ONVW%A.png

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51Hei单片机16群 联系QQ:125739409;技术交流QQ群7344883

Powered by 单片机教程网

快速回复 返回顶部 返回列表