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

Simulink转换为DSP

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Simulink转C代码: T: c1 i% q7 u& g7 g. X' x% l4 D
. s$ Y" N' O4 r) F; a  o. C
一、Simulink 转代码设置
  K0 t* G( d" |" e: V. x1.        首先建立模型。3 }6 C  F" a. c5 {" `" {( T
2.        为每根信号线取名字(与输入输出口的名字相同)。
& d3 o5 Y& c/ l8 `! |1 C3.        为表格、常量等数据赋值(可通过变量)。检验模型是否能够运行,能够正常运行时转代码的前提。/ R$ c, F# M, a  k  c' e
4.        通过data object wizard的find,check all,mpt,package,create命令封装数据。
  W6 m' a% M5 u5.        通过model explorer修改输入输出数据的类型(单片机中运行时,设定为(u)int8,(u)int16类型,可以采用继承属性Inherit: auto。)。注意包含Base workspace和自己模型下面的数据都要设定类型。
. n+ X$ Q. L# ~7 C* _6.        第一次配置好configuration parameters后,不需要再次配置,至此即可generate code。* \; w( `! {: O% K2 l' _

/ A. G$ \* W- b4 ^0 K9 k3 o3 z1 Y4 Z' Z
关于configuration parameters:
9 U" @' j0 R' j! k4 W! R3 U4 DSolver:& }4 ?# f% J; M+ i. s5 r( F; H
: u# e, Z8 w- C+ H* a
Data Import/Export
* B2 b- S8 l- [9 s: Q& S2 w* k  U" `+ C/ Y0 @& B7 f( K' ?, n
Optimization:4 B' L- v! x- @6 L, j9 c8 q
# Z' C, f! q0 l% ?/ O0 K1 X+ K/ R
Hardware Implementation:
; e! u: v/ k# F2 s6 ?$ s) E- F
! L7 \  z, N3 O/ z5 y. |  LCode generation:# C. y, X2 }4 l& q( C$ d9 Z
# O/ [; ~( A  i! n
Report:2 x2 U8 R- }8 y* ?9 L  l5 [/ W
6 b0 u8 @! ^5 }% r" h3 e
Comments:
/ p; ?9 ~/ a2 D0 m/ V8 N" l. n2 G" N" W( F% d6 z) d4 j+ g& l$ ?& J$ T
InteRFace:- H3 D. z. z: k1 \8 @

% e9 ]2 U4 I& _: T6 u; LTemplates:  W9 }6 M/ K' a; L1 w

$ [3 P" c3 ?1 F, v6 Y(图中的code templates是来自锡柴的,用simulink自带的templates也可以)4 M9 d3 h! R8 l  [5 R& @
Memory Section:) b& |* o+ I6 X! V; V

3 X& q2 f' L% N! Q二、Model  configuration 说明-20170624: P3 S; u4 q! L
这里阶段模型配置的3种方法:: ~" n2 h; }# @% c$ n
第1种是第一章里面介绍的方法,手动逐条修改;
  ^* ^3 h: A: F+ x' v# i第2种是在原有配置基础上,export出m文件,修改后再inport;
/ R! T% W5 j. j, |: H/ @$ n  v( n/ z* [8 [+ A
0 R0 G) ]% W2 m+ l, H1 o
第3种则是利用simulink中自带的模块Configuration Wizard,调用rtwsampleconfig函数,函数中的具体设置可以手动更改。+ }6 C9 J$ h% h3 b/ L, k

6 Y$ G$ s0 ^+ ^5 Z0 W8 Z实际使用中,推荐第二种方法!# E# ?1 T; Y6 B& G, t' n
二、集成到目标代码里(针对codewarrior编译器)。$ ]  ^  r, Y& K' u+ X
1.在sources文件下新建文件RTW,将生成的xxx_ert_rtw和slprj\ert\_sharedutils文件下的.c和.h文件全部放进RTW中。
  j; y8 v$ E. v  X2.在codewarrior中添加RTW文件。
: {. c$ Q4 M8 Z3.在初始化中定义输入输出数据并外部声明(BP_Var_Initial.h,BP_Var_Extern.h中)。
' y; I0 z/ d# E' ?7 H4.为实现标定功能,将标定数据(表格等)放在RAM和Flash中。
1 h7 |( ~, c4 f5 o$ J$ Z3 W0 c        将生成的数据定义和声明屏蔽掉。7 B% j" {5 I1 q, K
        在Cal_Ram.h和Cal_Flash.h中分别定义变量,在Cal_Ram_Extern.h和Cal_Flash_Extern.h中进行外部声明。放在Flash中的数据可为变量添加后缀_Flash。6 ]+ _+ ?" c3 l* t/ e
        在FlashReadToRam()函数中将Flash中的变量值读到对应的Ram变量中。
. q; F2 o( \; d5 Y, ?5 t3 x5.在正确的位置调用生成的.c文件下的函数。
; y  U% t: k+ J% S- j7 g5 u6 |; U. y3 H0 }
3 U7 c. ^. f. E8 O' A3 r3 ]$ Y

. B3 |0 m2 T8 k' E7 `) K3 u* [
9 k( L! U! G6 L: ?: Y

/ }9 I! c- l& h  l) S* k! y

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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