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

Simulink转换为DSP

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Simulink转C代码7 d$ D4 L3 H& ~, l% i- C* f. S6 J: `
; \3 d) b2 S$ C3 n" H( r
一、Simulink 转代码设置7 ?. q8 ^) R/ W6 `8 r9 b- Y
1.        首先建立模型。
, k% Q0 b' e+ c2.        为每根信号线取名字(与输入输出口的名字相同)。
) C) h: \5 x. e, j: Y/ G3.        为表格、常量等数据赋值(可通过变量)。检验模型是否能够运行,能够正常运行时转代码的前提。
! ~7 H" _7 p. R9 M' ^* h; F5 g" S4.        通过data object wizard的find,check all,mpt,package,create命令封装数据。
5 J) M1 d/ d0 ]) {) @. ^$ T5 T5.        通过model explorer修改输入输出数据的类型(单片机中运行时,设定为(u)int8,(u)int16类型,可以采用继承属性Inherit: auto。)。注意包含Base workspace和自己模型下面的数据都要设定类型。2 p1 a8 X; w( i+ ?
6.        第一次配置好configuration parameters后,不需要再次配置,至此即可generate code。0 X  F- I" z7 Z" ?$ _
6 ^6 [% q+ O- d/ H, o0 h

* i" [7 [+ `! O$ M0 ?! L6 B4 V关于configuration parameters:
+ o% V) t" [0 tSolver:
5 l3 G) W; M1 m# u8 O5 o& c/ r, e2 T3 }' R7 X
Data Import/Export
) K3 }0 b. M) n# h6 W+ S. J
4 m; O! Y* ^8 T7 l' UOptimization:
+ `+ j3 M( y2 _* n) q
7 I/ J5 z% R  x- C, qHardware Implementation:  Q/ F9 _/ W# c6 u# ]) w

; c# ~6 m6 O8 n4 e3 l" oCode generation:* f8 M3 ]. y. `7 L6 G0 N( _
/ ?. O' K! l( Q# X+ W; ]
Report:* L6 ^7 b$ P' v% a9 C

/ j+ N2 x: L& Y' ]Comments:7 u( P( x# |8 J/ w0 x2 Q

6 E! p: Q. F. uInteRFace:
# z: P: y+ R+ J9 J1 l  C, {4 S/ w' }3 Q1 R" x- @3 T6 a3 s0 @
Templates:1 g* O% d6 I9 d. M8 w$ \* Z

% I( m7 h1 B3 J(图中的code templates是来自锡柴的,用simulink自带的templates也可以)3 U  \7 ~9 ^& {. C% g
Memory Section:
  L8 I# a. f. v4 }1 }, L" O" C- g1 v7 c5 ^" ]! u
二、Model  configuration 说明-20170624
0 P% j5 i' H: a  k# j! W( k% s- r这里阶段模型配置的3种方法:9 O" l- L( \3 P& x
第1种是第一章里面介绍的方法,手动逐条修改;2 q' {% G* Y4 I' B! }. I$ A
第2种是在原有配置基础上,export出m文件,修改后再inport;
3 v/ ^% |2 t! q2 z4 B- f" n9 C( |5 z8 I" W

" Y8 W/ N3 N0 y9 G) P第3种则是利用simulink中自带的模块Configuration Wizard,调用rtwsampleconfig函数,函数中的具体设置可以手动更改。
. q8 l5 H8 o: Y6 l4 y: `/ N2 L3 y+ W1 m
实际使用中,推荐第二种方法!/ s& l4 A6 [# s0 O  |* d
二、集成到目标代码里(针对codewarrior编译器)。
0 W: P6 L# D- t: Q! e1.在sources文件下新建文件RTW,将生成的xxx_ert_rtw和slprj\ert\_sharedutils文件下的.c和.h文件全部放进RTW中。! C) j) @/ P2 i/ W0 y
2.在codewarrior中添加RTW文件。
( a: g2 G# @* x7 ]1 W. P; c2 T- X3.在初始化中定义输入输出数据并外部声明(BP_Var_Initial.h,BP_Var_Extern.h中)。
2 H. k0 l& P9 _+ s/ ?4.为实现标定功能,将标定数据(表格等)放在RAM和Flash中。
% y/ H3 p3 [& ~/ H3 ~& J        将生成的数据定义和声明屏蔽掉。6 F! H# e4 m+ [1 _
        在Cal_Ram.h和Cal_Flash.h中分别定义变量,在Cal_Ram_Extern.h和Cal_Flash_Extern.h中进行外部声明。放在Flash中的数据可为变量添加后缀_Flash。
1 |( ^8 h7 H7 p) [* a' T1 S+ r) E        在FlashReadToRam()函数中将Flash中的变量值读到对应的Ram变量中。; G& b3 b" m; L9 Q9 V6 m8 I
5.在正确的位置调用生成的.c文件下的函数。* c: E% R3 a! g+ H$ d1 A9 c
& j, z, g1 W4 `6 _7 L
/ ~# Y2 _0 A! w+ E! r
2 O% P- p* i+ E6 u  o/ g
. S  X% ~1 i  f

9 F5 F2 f. ~5 |( Q

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-13 00:12 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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