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

Simulink转换为DSP

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Simulink转C代码5 a; z% g! p$ C, s7 b

  V1 v/ R$ F; M一、Simulink 转代码设置
- V8 j. ^, |$ F! w0 `4 H$ |) I1.        首先建立模型。! [, J+ l7 J) H
2.        为每根信号线取名字(与输入输出口的名字相同)。
2 Y- Q! G* P/ K5 n3.        为表格、常量等数据赋值(可通过变量)。检验模型是否能够运行,能够正常运行时转代码的前提。/ G3 r3 V; ^( n# r$ n5 x" B2 e
4.        通过data object wizard的find,check all,mpt,package,create命令封装数据。
/ o" F# R0 m% |; x5.        通过model explorer修改输入输出数据的类型(单片机中运行时,设定为(u)int8,(u)int16类型,可以采用继承属性Inherit: auto。)。注意包含Base workspace和自己模型下面的数据都要设定类型。
5 G3 H% R7 p1 ]6 w6.        第一次配置好configuration parameters后,不需要再次配置,至此即可generate code。
8 m6 ?# v  M! ]9 Q- ~* b
: w; _0 T6 g2 B9 W( @6 e9 {! |" I# z: n
关于configuration parameters:; W) T( L7 t9 `, d* b
Solver:
" x' U9 O3 l4 u3 S4 b7 E: d9 q' e
: B6 G8 w% t' I: Y" L. h5 BData Import/Export
( L/ g0 B, n# M
+ s7 ?) }& I/ K, p  ~# ~! rOptimization:' h7 B' T' v+ e4 V. c! B% L; \' R

, n. D  l0 a" r& q, G% W" c& GHardware Implementation:
( w2 @3 f8 @/ k5 K+ z5 t( e1 `; P! Y# E. u5 P* Y
Code generation:1 O  n' H6 N0 L$ x
  G6 F( q5 \9 W2 g4 ]1 I
Report:
8 e6 n1 S6 b6 z2 g2 ^/ v# W: g8 Q) x. @/ N# v7 z; f  ^/ d5 d
Comments:' r+ }& U3 |  ^0 n

( u2 g# t- J' T1 r3 g" F  \InteRFace:
5 A/ L+ h1 \7 }$ ~4 k, n' S' b! S% b8 j+ ]
Templates:; n% i9 [2 M& \' E- Y" C
" N: P8 {/ K: k# X- e
(图中的code templates是来自锡柴的,用simulink自带的templates也可以)4 I* Z8 [( c3 @; M* y6 x
Memory Section:
) I/ `3 k0 c5 q
: }1 i6 C0 e+ X6 h8 y# T1 y二、Model  configuration 说明-20170624  ~- F) y& T# W
这里阶段模型配置的3种方法:, x9 n+ R7 Y( W! G9 U% j7 ~$ X2 w) [: v
第1种是第一章里面介绍的方法,手动逐条修改;
% G  ]* d# m7 G$ x* h$ t/ J% @第2种是在原有配置基础上,export出m文件,修改后再inport;
+ n* b# O% h# q* P3 a
- y2 I3 Z" r1 f' ^# r" Q% j. |1 b/ M" i
第3种则是利用simulink中自带的模块Configuration Wizard,调用rtwsampleconfig函数,函数中的具体设置可以手动更改。3 N7 o3 D% t0 J- r4 u9 K8 Z

/ C/ U" }  w; L) g实际使用中,推荐第二种方法!
* K' n" v/ d( J* m, o9 c二、集成到目标代码里(针对codewarrior编译器)。
8 s3 M: q, q* R. @1.在sources文件下新建文件RTW,将生成的xxx_ert_rtw和slprj\ert\_sharedutils文件下的.c和.h文件全部放进RTW中。
) m! v* U7 y0 F: p9 D, J* n' \2.在codewarrior中添加RTW文件。" \0 O) [9 P$ c
3.在初始化中定义输入输出数据并外部声明(BP_Var_Initial.h,BP_Var_Extern.h中)。
" ]4 l6 E3 q: O- @9 n, N4.为实现标定功能,将标定数据(表格等)放在RAM和Flash中。& X* V6 H% K5 ]0 T. T2 p
        将生成的数据定义和声明屏蔽掉。6 e/ ]: x6 Z% W* F3 }
        在Cal_Ram.h和Cal_Flash.h中分别定义变量,在Cal_Ram_Extern.h和Cal_Flash_Extern.h中进行外部声明。放在Flash中的数据可为变量添加后缀_Flash。
3 V- O1 S+ V5 @) @5 a1 p        在FlashReadToRam()函数中将Flash中的变量值读到对应的Ram变量中。! S5 P1 H6 _8 Z6 ?
5.在正确的位置调用生成的.c文件下的函数。
$ _$ r; P' z0 C2 u2 G: R9 A
5 G& i3 M1 l5 T# a% u  K) u( D. @) I: F/ F' J

; Z3 a( j' r$ Q* _; @" T

8 p  E+ k0 U5 ]7 B) S  h* z
$ [' N5 p. M4 d* K- T

该用户从未签到

3#
发表于 2021-10-25 16:47 | 只看该作者
调用rtwsampleconfig函数,函数中的具体设置可以手动更改

该用户从未签到

2#
发表于 2021-10-25 13:31 | 只看该作者
在初始化中要外部声明
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 01:11 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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