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

Simulink转换为DSP

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Simulink转C代码" z% I4 A+ d% p) O) T

- Y+ D1 I1 w) o( D, A. a一、Simulink 转代码设置( G' [7 Q- |' H6 ]" u
1.        首先建立模型。5 S5 y- [, s/ }7 o3 ]2 a6 j
2.        为每根信号线取名字(与输入输出口的名字相同)。- Z1 ]/ X9 \/ x* F. W
3.        为表格、常量等数据赋值(可通过变量)。检验模型是否能够运行,能够正常运行时转代码的前提。. y, f2 g0 L( w. z! F
4.        通过data object wizard的find,check all,mpt,package,create命令封装数据。
3 e2 l8 f# |* t; b* p5.        通过model explorer修改输入输出数据的类型(单片机中运行时,设定为(u)int8,(u)int16类型,可以采用继承属性Inherit: auto。)。注意包含Base workspace和自己模型下面的数据都要设定类型。! K1 y8 W1 E& u8 s5 p' h
6.        第一次配置好configuration parameters后,不需要再次配置,至此即可generate code。, a+ ?: c" {. N) V

" P. K1 [: B) ]5 o$ V  M
# J1 k7 B7 d! K5 I+ E2 L关于configuration parameters:
4 e" U' K0 k1 k+ MSolver:
! Y; B6 u" ~6 T' r* H" m
1 h7 d+ l6 j* O5 `/ X5 P& e2 rData Import/Export( E7 L: i, w: ?% w0 e
- O6 a- G8 k( v5 E; w
Optimization:  K7 `3 V% q1 _$ E
+ k' |; B0 E. `0 z% ?. g  q) J8 f8 {
Hardware Implementation:# o1 ?% T0 g1 L. o. Y
5 S# j1 e; I+ [. J9 O9 g2 [/ Z
Code generation:7 @$ d$ a- p/ K3 m3 p- v

, l: s, o6 [! {  S% hReport:2 w- u; Z* f5 V' p

3 N0 V. |5 c# d3 lComments:
1 Q2 w* M3 W, I# t5 q! U2 {+ Y+ D0 Z: o! f, d: A) @
InteRFace:: Z8 X! E0 a0 Q& ]% z1 |" p

: q# p0 x7 [1 x. j; |6 _$ }Templates:0 h; J3 h! P' f1 |( J/ M; v( D

- x9 |+ v$ m; g  U, r(图中的code templates是来自锡柴的,用simulink自带的templates也可以)
( w8 ]2 ~& m" P- d2 fMemory Section:
  x- p8 `- P5 [2 A# v7 N
8 D9 b" d% A0 D二、Model  configuration 说明-20170624% P- t5 ?# ~- O0 P9 B& B
这里阶段模型配置的3种方法:
* G' [# g! Y  b6 ?# E3 |2 g+ L  B第1种是第一章里面介绍的方法,手动逐条修改;
6 O) g6 k  ^' @7 b" @第2种是在原有配置基础上,export出m文件,修改后再inport;
5 m* b5 U" L- {! [( T9 E8 `+ o. i/ J6 w. m; g7 E

. Y5 C2 g- l: ~' T4 ~3 P7 M% y第3种则是利用simulink中自带的模块Configuration Wizard,调用rtwsampleconfig函数,函数中的具体设置可以手动更改。7 t+ u$ z! h6 U- b$ K" y. o
) p( C0 m1 y4 I6 [2 n
实际使用中,推荐第二种方法!- h, S+ E$ p' u$ H% L
二、集成到目标代码里(针对codewarrior编译器)。
# r% f2 o7 C% n1.在sources文件下新建文件RTW,将生成的xxx_ert_rtw和slprj\ert\_sharedutils文件下的.c和.h文件全部放进RTW中。" L% R# g# t# j: Y5 q( U9 T; N; o4 {
2.在codewarrior中添加RTW文件。
: q+ L# v. Z/ _& q' _( t3.在初始化中定义输入输出数据并外部声明(BP_Var_Initial.h,BP_Var_Extern.h中)。+ {" i" Q  i9 [) I0 ?
4.为实现标定功能,将标定数据(表格等)放在RAM和Flash中。5 k  J: ^* L: p& }* k9 c
        将生成的数据定义和声明屏蔽掉。' e* V( g/ A1 _
        在Cal_Ram.h和Cal_Flash.h中分别定义变量,在Cal_Ram_Extern.h和Cal_Flash_Extern.h中进行外部声明。放在Flash中的数据可为变量添加后缀_Flash。) ]$ b/ ~/ J6 z9 i1 p
        在FlashReadToRam()函数中将Flash中的变量值读到对应的Ram变量中。
7 {1 Q$ y/ I9 o, E' Y5.在正确的位置调用生成的.c文件下的函数。
  h3 V3 G  l- |: P! t3 e
  p! F, Z: B0 Z$ ^# }8 n3 D, x# w0 e" k4 _3 S3 _

* B( t# X" T$ O+ Q* _, g) ^

- {! w3 O: `3 O# |# w* C- ]: \6 k0 P5 ?: b' c" h

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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