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

Simulink转换为DSP

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Simulink转C代码- m4 h! I9 O' z5 g1 s0 `. L, |
! t+ H0 c3 e& P  `
一、Simulink 转代码设置
" ]. Z3 w/ M* v6 Q7 ?. x/ @0 j& G1.        首先建立模型。
4 }5 Y- p# g4 L1 G2.        为每根信号线取名字(与输入输出口的名字相同)。
) e0 `! L' B* A3.        为表格、常量等数据赋值(可通过变量)。检验模型是否能够运行,能够正常运行时转代码的前提。
1 o8 e% V' H8 S+ o) D: G4.        通过data object wizard的find,check all,mpt,package,create命令封装数据。
2 Q6 S4 }. x# y) n5.        通过model explorer修改输入输出数据的类型(单片机中运行时,设定为(u)int8,(u)int16类型,可以采用继承属性Inherit: auto。)。注意包含Base workspace和自己模型下面的数据都要设定类型。
  z8 z3 C3 p* n8 v2 T2 p8 A/ |6.        第一次配置好configuration parameters后,不需要再次配置,至此即可generate code。
6 z% M/ |6 D8 w! @7 Y' o. H1 Q4 W1 x
5 p6 {* k3 s' c  X0 v* e9 f) f& y, c
关于configuration parameters:. L) n# R/ e8 ^0 ^1 ]! |; G
Solver:
6 a: e$ n0 V, N. Z$ V( L! j1 w' B3 ^0 F; v- I; a! q
Data Import/Export
& l  [$ G( w4 j4 C+ b
0 {' _' i; C4 E+ E  W9 D" wOptimization:! C! \# y  I* \4 \$ L
( u/ T. I9 M8 x) E. E
Hardware Implementation:. A& |+ F$ ^" c! e) i3 ]

5 P2 S: d+ e5 R. B* ?( OCode generation:
+ a0 Y3 |; }$ T2 h0 x2 f- n7 S0 Q" `
$ F9 X4 ]* ?8 L1 T( }  YReport:# N' T$ y' r* M7 m; ]/ V0 @

2 g+ h7 N4 \9 Z& @Comments:
- n( X: s: a* A0 k7 @9 S+ {$ x
, `0 {/ _& v2 h$ V5 S3 t, B  W5 xInteRFace:
2 v' d. {3 M- F$ W* \2 x+ G6 S7 R' ?
Templates:
. [# k7 a' \9 C4 A6 n" ?
# ~5 q4 k0 C, P(图中的code templates是来自锡柴的,用simulink自带的templates也可以)* r! B) E" v1 O& X" _! }) M3 L8 G
Memory Section:/ A0 n, s+ D- R& ?2 y
! F6 ^- o0 ]0 E# i3 X
二、Model  configuration 说明-201706248 x& _# G2 ]8 X9 e
这里阶段模型配置的3种方法:
! F" |! P0 w% f第1种是第一章里面介绍的方法,手动逐条修改;) `3 [& R& B4 E! q% U& W0 J4 G: d8 S
第2种是在原有配置基础上,export出m文件,修改后再inport;$ {( }" e- |7 `+ t4 [: C" J4 Y. R# I
4 l1 ?( k9 g, b' u7 \9 J' K
8 {4 o* j: J/ h' p# w7 P
第3种则是利用simulink中自带的模块Configuration Wizard,调用rtwsampleconfig函数,函数中的具体设置可以手动更改。3 ?6 h/ \% u! N! j

& u7 ?! Z$ N( D# N实际使用中,推荐第二种方法!7 y. o. g, E+ A' T
二、集成到目标代码里(针对codewarrior编译器)。& d5 b# ~& b" G. H& j
1.在sources文件下新建文件RTW,将生成的xxx_ert_rtw和slprj\ert\_sharedutils文件下的.c和.h文件全部放进RTW中。
8 ^. o) X6 N; D+ ?# ^" d2.在codewarrior中添加RTW文件。
: r) ~, P% M" [+ A6 T2 t' ^3.在初始化中定义输入输出数据并外部声明(BP_Var_Initial.h,BP_Var_Extern.h中)。+ U; a- E. J$ i
4.为实现标定功能,将标定数据(表格等)放在RAM和Flash中。" v* D" p0 `  S" ~5 L
        将生成的数据定义和声明屏蔽掉。
3 L0 Z) B: H5 ~- s* V  D, p4 `        在Cal_Ram.h和Cal_Flash.h中分别定义变量,在Cal_Ram_Extern.h和Cal_Flash_Extern.h中进行外部声明。放在Flash中的数据可为变量添加后缀_Flash。0 h, P& @2 H" \
        在FlashReadToRam()函数中将Flash中的变量值读到对应的Ram变量中。
, r$ L& g' @/ x* P1 A9 g# @5.在正确的位置调用生成的.c文件下的函数。5 {- @  p, M" f  M6 y

6 E0 ?+ ]4 P" V: V* b0 K9 r
6 `+ f$ t" k- n, u
8 ?" j) [/ T9 ?7 E
9 p- J: z4 O7 ?, l5 D

; a7 B' j5 l* \1 L0 C0 |7 b

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 22:38 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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