找回密码
 注册
关于网站域名变更的通知
查看: 412|回复: 2
打印 上一主题 下一主题

Simulink转换为DSP

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-10-25 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
Simulink转C代码
6 a5 J. G, m3 C4 A. s
6 J+ F2 o- }5 ~; a$ D一、Simulink 转代码设置
+ O$ _+ \; }+ b! s6 Q1.        首先建立模型。3 h6 ~* G, a% |" d1 D6 ?
2.        为每根信号线取名字(与输入输出口的名字相同)。$ k" F. X+ \" g3 o' c* P1 B+ i  H
3.        为表格、常量等数据赋值(可通过变量)。检验模型是否能够运行,能够正常运行时转代码的前提。
" q: M# L& r7 f9 S: z4.        通过data object wizard的find,check all,mpt,package,create命令封装数据。4 m: e. u( \* g/ s8 b
5.        通过model explorer修改输入输出数据的类型(单片机中运行时,设定为(u)int8,(u)int16类型,可以采用继承属性Inherit: auto。)。注意包含Base workspace和自己模型下面的数据都要设定类型。
  ^2 C, _  R6 P5 q, I8 {5 O6.        第一次配置好configuration parameters后,不需要再次配置,至此即可generate code。! j3 k! N- W$ J- W/ C: w
5 n- s  y' I8 a9 H+ u
1 |" l; U" p5 ^! B
关于configuration parameters:% X, q8 E7 v+ A1 ]
Solver:; K" p) {3 ~8 D# U% C+ N
( @4 h( X" s5 v
Data Import/Export
2 x' i' }! L( a: a5 L9 O
' S+ j3 p( b5 B0 w" g5 M1 nOptimization:
9 ~# P0 l, h4 Y/ B) D) q$ h" ?0 x9 V& _0 y6 W2 E% m8 e; F
Hardware Implementation:% B5 R; E2 ~+ _

) T9 C" n$ j7 q2 ^) A' \Code generation:
- G: S8 {# w# }' s1 ?
; f5 q  R, g1 S2 y3 }Report:
3 r* C$ ?/ e9 {) Q8 A$ o! t
. ]$ b# s2 ~3 w) Q3 ~5 gComments:/ s4 x7 z+ \) ^1 V) h, \2 x8 ]& W7 S
$ K5 g5 ~/ `, U! G
InteRFace:6 I% y; V+ I: o3 r

* w4 k5 ]1 ]3 t5 j6 N( g, hTemplates:+ j$ Z( a% y( x( Z

; w2 O0 G5 {# J$ \& v: Z- _(图中的code templates是来自锡柴的,用simulink自带的templates也可以)
6 g3 q  ^4 ?7 O! P$ wMemory Section:
9 ]! x5 @, t* z* o7 f0 c* f( M
二、Model  configuration 说明-20170624
9 u* N7 F2 N4 g) x( k  _这里阶段模型配置的3种方法:7 e9 k& F: N% g
第1种是第一章里面介绍的方法,手动逐条修改;
. S8 J' ^4 x3 ~5 x; N第2种是在原有配置基础上,export出m文件,修改后再inport;
7 `0 K8 ?5 P7 A- I
9 U3 e( K2 w9 @  s( {! M8 O& {* b
第3种则是利用simulink中自带的模块Configuration Wizard,调用rtwsampleconfig函数,函数中的具体设置可以手动更改。" E  M& x0 s& J/ z; K0 B2 I

7 k( _" p3 r" v* V: X. o& n$ d6 j实际使用中,推荐第二种方法!' @+ i- E& e0 @
二、集成到目标代码里(针对codewarrior编译器)。! k7 @, F+ p/ H& n7 v/ T
1.在sources文件下新建文件RTW,将生成的xxx_ert_rtw和slprj\ert\_sharedutils文件下的.c和.h文件全部放进RTW中。$ e' h' k  k9 i0 J' Q: j, Z" r
2.在codewarrior中添加RTW文件。; t/ P& _; X  Y, k# L
3.在初始化中定义输入输出数据并外部声明(BP_Var_Initial.h,BP_Var_Extern.h中)。
5 U  K, t. X$ q$ n! x4.为实现标定功能,将标定数据(表格等)放在RAM和Flash中。0 k$ n2 {2 Y6 V  g6 d
        将生成的数据定义和声明屏蔽掉。: F, e; H2 j7 h& @0 U( Y: v
        在Cal_Ram.h和Cal_Flash.h中分别定义变量,在Cal_Ram_Extern.h和Cal_Flash_Extern.h中进行外部声明。放在Flash中的数据可为变量添加后缀_Flash。" C# ?* s) U; t
        在FlashReadToRam()函数中将Flash中的变量值读到对应的Ram变量中。
* w/ w4 Y0 x! m3 ^, G5.在正确的位置调用生成的.c文件下的函数。
) x4 b* A) u6 Z) k7 n$ Y, B* x5 v

9 G$ Q! a* _# `
2 P/ o0 N! n& V2 J
7 M- H$ y4 f4 l* Z. ]/ P

0 E* s8 L# A: q

该用户从未签到

2#
发表于 2021-10-25 13:31 | 只看该作者
在初始化中要外部声明

该用户从未签到

3#
发表于 2021-10-25 16:47 | 只看该作者
调用rtwsampleconfig函数,函数中的具体设置可以手动更改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-11 07:57 , Processed in 0.125000 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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