matlab rtdemo怎么生成,simulink——RTW自动代码生成简介
【实例简介】
simulink自带的realtime workshop,也就是RTW,可以实现代码自动生成,但是,如果要对生成代码进行自定义,控制代码生成过程中的每一个阶段,需要额外的编程,而不是单单搭建好模型就可以的。本文档也仅仅是个简单介绍,详细内容需要参阅help文件。
基于模型设计一自定义目标系统配置指南
基于模型设计一自定义目标系统配置指南
1、自定义目标系统组成
新建一个mdl文件,打开 Tools- Real Time Worksop-Options如下图所示,点击
Browse,在弹出窗口中可以看到本机已有的目标系统,如MPC555C166、ert、gt等。
本教程主要讲述怎样针对S12平台配置自定义的目标系统,其他平台的配置可以
参考此过程修改相应配置。
Configuration Parameters: test/Configuration (Active)
Select
Target
Solwer
System target file: htt tlcl
rouse
--.Diagnostics
Sample Tim
Description:
rkshop Bost Targe
t
er5101
TL
Makefile conf
-Simulation Target
Template makefile:
RReal-Time Workshop
Data specification override
□工
Symbol
g
二[caa21p[sp
图1-1RTW属性设置窗口
system Target File
Descripti
asap2.tlc
ASAM-ASAB2 Data Defination ta
色1七。s2.t⊥c
AUTOSAR
Target Support Package (for use with Infineon C166
c166gxt,t工
Target support package (for use with Infineon C166)(GRT code forma
Embedded Target for Microchip dspIc (real-time)
eyt. tlc
Real-Time Workshop Embedded coder
ext.t⊥c
visual C/C++ Project Makefile only for the Real-Time Workshop Embed
ert shrub. tlc
Real-Time workshop Embedded Coder (host-based shared library target
grt. tlc
Generic Real-Time Target
grt. tic
Visual C/C++ Project Makefile only for the "grt target
c2t a1。e,tc
Generic Real-Time Target with dynamic memory allocation
grt malloc, tlc
Visual C/C++ Project Makefile only for the grt malloc target
ntat, tIc
WorkshOp H。 gt arget
⊥e1 ink ert,t工c
mbedded IDE⊥ nk ERT
bedded IDE Link GRT
Target Support Package ( for use with Freescale MPC5xx) (algorithm e
1mc5550i7t1c
TT色十11 root package if1eti+hFe
两1eMPc5x1nTCe门T
D: Program Files\MATLAB\R201Da\rtw\c\ert\ert. t1
Make command
make rt w
1 Help
!pply
基于模型设计一自定义目标系统配置指南
图1-2已有的目标系统
1.1目标系统自动代码生成过程
目标系统的代码生成过程如下,首先是在 simulink中搭建控制模型,并配置目标系
统的硬件底层驱动(c166、mpc555等芯片已经有现成的硬件驱动,其余单片机需要自己
编写底层驱动),然后通过RTW工具把控制模型生成。c,h文件最后根据需要生成exe文
件,对RTW工具箱不熟悉的读者请先阅读以下内容
《系统实时仿真开发环境与应用》第二章RTW入门
http:/www.docin.com/p-86456784.html
1.2目标系统组成文件
matlabroot toolbox'rtw targets文件夹( matlabroot为 matlab安装目录)下有c166、
mpc555等目标系统的组成文件,如下图所示。仔细分析其文件组成将会发现一些共同
的文件,这些文件自定义目标系统所必备的文件
(当然,我肯定不是通过比对这些文件发现这些规律的,完全是从开头的参考中摸
索的)
这些文件主要有
系统TLC文件、主函数TC文件、 file processtlC文件、 callback handler文件、
make rtw hook文件、模块TC文件(及C-MexS函数)等
每个文件的具体含义将在后文详述。
基于模型设计一自定义目标系统配置指南
共享
建又什
名称
名称
1 @codewarrior_tgtaction
21
@c166
1@diab_tgtaction
1 @C166Comms_DataTypeHandler
I @MPC5x Comms_DataTypeHandler
@C166Comms ExternalMode CCP
1 @MPC5xxComms_ExternalModeCCP 21
1@c166Config
1@MPC5xx ExternalMode_ExternalMo.21
1 @C166ExternalMode_ ExternalMode. @mpc555_tgtaction
@ SimulinkC166
+FM5
l ja
s messages
messages
bootcodewarn
A c166.callback_handler
皙c166 check_priorities
t c166_extmode_registration
a codewarrior tfl table tmw
皙c166 generate_main
看 Contents
222222222
c166_getrtwoptions
cOntents
t c166 grt_make_rtw._hook
包 dec_time_per_tick
当c166 make rtw hook
t a dec_time_per_tick
类:M4
t) c166_switch_target
ea diab tfl table tmw
大小:18
皙c166 tasking_update
s make codewarrior tfl table
修改日期
4c166editprefs
*p make codewarrior tfl table
tg c166ExternalModeOpen
翻 make diab tfl table
c166PostCodeGenerationHook
ta make_diab_tfl_table
6c166prefshelp
2222
e message ProductNameKe
图c16 switchconfig
图1-3c166、mpc555目标系统组成文件
2、自定义目标系统创建过程及详细解释
以上内容纯属扯淡,下面开始进入正题。
这部分内容以 Embedded Targets Development Guide.zip中 mathworks工程师的ppt
讲稿为基础,讲述自定义目标系统创建过程。
(其实就是把他的内容翻译下,再加上详细的注释和自己的心得,各位看官表说我
抄袭,因为我本来就没说是原创~~)
http:/www.mathworks.cn/support/solutions/en/data/1-bhuood/index.htmlproduct=r
T
5
基于模型设计一自定义目标系统配置指南
The MathWorks-
matlaB&SIMULINK
Baseline Target Files
Target Block
Invoke
Code
model. mdl
Library Files
Generator Compiled representation
System
Code
Inline Target
Target File
Generation
Block files
and
target. tlc
Hook file
target make hook.m
model, c, modelh etc
TemplateToken
expansion
ake
Make
Run- Time Files
File
model mk
target_main. c
ISRs
Device Drivers
arget
图2-1RTW代码生成过程
如上图所示,目标系统通过系统目标文件(TLC)和hook文件把md文件转换为c/h
文件,而下面介绍的其余文件只是辅助这个过程而已。
基于模型设计一自定义目标系统配置指南
2系统目标文件( system target file)- htgt. tlc
系统目标文件是用于控制整个目标系统的代码生成过程,打开 htgt. tlc和cl66.tlc
对比,会发现二者非常多的相似处,因为他们是用于设置一些最最基本的内容,下面开
始介绍 htgt. tlc文件的具体含义。
htgt. tlc-—见附近
166tlc——见 matlabroot \toolbox rtwltargetscl66c166
要想在目标选择窗口中看到自定义的目标系统还需要把系统目标文件(tlc文件)所
在的目录添加到 matlab path中。
如 addpath(C: Users Godman Desktop Matlab底层驱动
EMbedded Targets Development Guide htgt')
95% SYSILC: Workshop Host Target IMF: none MAKE: make rtw EXIMODE: ext comm
3 selectfile NUlL file
用于RTW属性
4 %assign CodeFormat Embedded-C
5 %assign farget lype =RI
设置窗口的显示内
6 %assign Language =C
容,tmf&make文
7 %assign AutoBuildProcedure Generat eSampleERIMain
件的设置。
8 %include codegenentry tlc
/%
BEGIN RIW OPTIONS
配置代码生成格式、类
rtwgensettings, BuildDirSuffix htgt rtw
型、语言等内容,一般不用
twgensettings. DerivedFrom = ert. tlc
修改。
14
rtwgensett
1
15
rtwgensettings. SelectCallback = htet callback handler(hDlg, hSrc)]
END RTW OPTIONS
图2-2系统目标文件 htgt. tlc代码
第1行
%%在TLC文件中表示注释,不会被执行,但是这一行的注释是为了显示在RTW
属性设置窗口,其具体对应显示位置见图2-3。
由于我们不需要生成exe文件,所以把原文件中tmf部分修改为none,不是用tmf文件进
行代码生成。我们可以通过修改如下内容来标识我们自己的自定义系统:
SYSTLC: Workshop Host Target
如可修改为
SYSTLC:这是一个自定义目标系统的demo
关于系统目标文件的详细介绍,各位看官可以参考《系统实时仿真开发环境与应用》
的8.3.1系统目标文件的结构(强烈建议)。
基于模型设计一自定义目标系统配置指南
第3~8行(蓝色部分)
这部分内容主要是对代码生成的格式、类型、语言等进行配置,一般情况下不用对
这部分内容进行修改
第10~17行
这部分内容是对一些RTW生成属性的配置( RTW OPTIONS),如:
rtwgensettings. BuildDirSuffix htat rtw'i
表示代码生成目录为 mode htgt rtw,其中mode为md文件名。
L Name
目调试心得tt
回 test. mdl
e Developing Embedded Targets using
s test _ htgt_rtw
sIprI
文件生成目录
I hto
rtwgensettings. Selectcallback =['htgt callback handler (hDig
hSrc)i
表示当中 htgt. tlc文件时所对应执行的回调函数,即当选择htgt目标系统的时候
matlab将自定执行 htgt callback handler函数中的程序,该程序主要是对一些目标系统
的常用默认设置项进行设置,后文将详述
C System Target File Browser: test
System Target File:
Description:
grt. tlc
Generic Real-Time Target
grt. tIc
Visual C/C++ Project Makefile only for the grth target
Generic Real-fime Target with dynamic memory allocation
art malloc. tlc
Visual C/C++ Project Makefile only for the "grt malloc"target
htgt. tlc
delink ert tl
mbedded ide Link Ert
delink grt. tIc
Embedded IDE Link GRT
对应如下代码
mpc555pll.tlC
Target Support Package (for use
SYSTLC: Workshop Host Target
mpc555rt. tlc
Target support Package (for use w
mpc55srt grt tIc
Target Support Package (for use with Freescale MPC5xx)(real-time, GR
Full Name
C: Users\G)dman\Desktop\Mat1ab底层驱动 mbedded Targets Development Guide\ht gt \ htgt \ht gt.t
Template Makefile: n
Make Command:
make rtw
对应如下代码:
TMF: none MaKe: make rtw
[cancel Help[Apply
图2-3浏览器注释行内容配置
基于模型设计一自定义目标系统配置指南
22RTW工具箱回调函数— htgt callback handler. m
如前文所述, htgt callback handler.n文件主要是对目标系统常见的默认设置项进
行配置。该函数与 matlab的函数编写方法一致,其中hDlg和hSrc参数不需要用户自
行设置,这些参数是有系统自动分配的,不用对其就行修改
其中 slConfigUISet Val函数是用于自定义目标系统的属性, slConfigUISetEnabled
函数则表示该属性是否可以被修改。
A部分代码设置了需要生成ERT主函数,并配置该选项不可修改
B部分代码配置不适用 Makefile进行代码生成,并配置该选项不可修改。
C部分代码配置用户自定义的模板文件,即通过 htgt file process. tlc文件来进行自
定义代码生成的过程,并配置该选项不可修改
通过该文件可以对自定义目标系统的各种参数进行默认配置,这样就不用在选择目
标系统后再来对这些参数进行配置
通过help文件的一下路径可以查看都有哪些属性可以通过 callback函数来进行配
置
<< Configuration Parameters for Simulink Models t Parameter Reference i Parameter Command-Line Information Summary
Real-Time WorkshoplUser's Guide\ Configuration Parameters for Simulink Models\ Parameter Reference\Parameter Command-Line Inform.
n-1T:.
.L1P,,」_1P上_.⊥
1:1.A」_1
(该路径为 matlab2010a版本,其余版本略有不同)
Function htgt_callback_handler(hDlg, hSrc)
g Setup these options as desired and gray them out
slConfigUISet Val(hDlg, hSrc, GenerateSampleERIMain','on')
sIConfigUISet Enabled(hDlg, hSrc, GenerateSampleERIMain', 0)
A
sIConfigUISet Val(hDlg, hSrc,GenerateMakefile',off
sIConfigUISet Enabled(hDlg, hSrc, Generat mAkefile, 0)
B
lConfigUISet Val (hDlg, hSrc, ERICust onFilelemplate', htgt file process. tlc
slConfigUISetEnabled(hDlg, hSrc,ERICust omFileTemplate', 0)
C
图24回调函数— - htgt callback handler. m代码
基于模型设计一自定义目标系统配置指南
Configuration Parameters: test/Configuration(Active)
Code templat
Solver
ource file (* c) template: ert- code template cgt
Dat a Import/ Export
de template cgt
E.Diagnost ir
Dat a templ
lidity
Source file (* c)template: ert_ code_template cgt
Compatibility
Header file (*, h) template: ert_ code template cgt
el Referencing
⊥s+ om templates
对应C部分代码
Hardware Implement at ion
Model Referencing
File ustomization template: htgt file process.tlc
Symbols
tn:1a12对应A部分代码
中Re1- Tine Workshop
Comment s
Interface
灰色表示不可修改
sI and PIL verif
OK Cancel[ Help Apply
s Configuration Parameters: test/Configuration(Active)
Target selection
i solver
Systen target Iile: htgt tlc
Dat a Inport/Export
-].Diagnostics
ascription
Workshop host Target
ata Validity
Bulld process
Model referencing
Saving
□ Generate makefile
对应B部分代码
Hardware Implement ation
Make co
Stools
Template makefile
Comment s
F Ignore custom storage classe
int signals
Symbols
Custom Code
Code Gener吐 tion adx
Prioritized objectives: Unspecified
工 and PIl veri仝,
Code Styl
Check model before generating cod
士士
Templates
回 Generate code only
叶 a Twme ReT1are
g
图2-5回调函数代码配置对应项
10
【实例截图】
【核心代码】
matlab rtdemo怎么生成,simulink——RTW自动代码生成简介相关推荐
- Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}
前言 本人了解到电动汽车中 OBC和 DCDC 普遍使用TI (德州仪器)DSP 28335和 28035系列芯片 做开关电源控制,电源领域的 工程师 需要对于芯片的配置和 配套软件Code Comp ...
- 3.1 实例-流水灯、拨码开关、键盘驱动、OLED驱动Simulink仿真自动代码生成
流水灯 SIMULINK 中逻辑设计利用最常规的延时开通关断设计,将引脚设置为高电平还是低电平根据开发板实际情况设置 ,仿真步长设置为 1s. 仿真模型如下图所示: 其基本逻辑就是在每 4 个步长的时 ...
- matlab 生成plc程序,利用MATLABsimulink的自动代码生成工具开发PLC程序..docx
利用MATLABsimulink的自动代码生成工具开发PLC程序. 利用MATLAB/simulink的自动代码生成工具开发PLC程序MATLAB之控制系统 2010-07-07 15:17:43 阅 ...
- Simulink自动代码生成:生成代码的基本设置
Simulink自动代码生成也被称作基于模型开发(BMD),相比于传统的手写代码方式能够尽量减少人为错误.模型本身可以用于仿真,单元测试等,更便于提前发现逻辑错误.同时只要约定好模型接口,就可以多 ...
- Matlab/Simulink 自动代码生成 基于模型设计学习教程(1)---- 环境配置
在接触不断开发深入STM32的时候,我经常在直接用C语言编写一个很发杂的算法,比如PID控制,傅里叶变换,卡尔曼滤波之类的基本需要的算法,然而对于一个初学者来说,编写这样的算法,费时费劲,甚至不一定能 ...
- 【Matlab专题】-01-Matlab使用脚本导入SWC Arxml文件自动生成Simulink模型以及生成C代码
附:"Matlab导入SWC Arxml文件自动生成Simulink模型"脚本!!! 目录 1 在DaVinci Development创建SWC.Runnable.Port 2 ...
- 20180614 MATLAB环境下自动代码生成
为加速软件开发过程,汽车电子开发过程会采用自动代码生成技术,目前该技术主要集中于应用层控制策略和算法的开发.将传统的算法与软件代码的两个步骤,实现为算法的开发及测试集成于一体的发开模式. 现阶段国内较 ...
- 一文弄通STM32F103基于simulink自动代码生成CAN/USART/GPIO/TIM(stm32cubemx+stm32target+matlab2018b)
一文弄通STM32F103基于simulink自动代码生成CAN/USART/GPIO/TIM(stm32cubemx+stm32target+matlab2018b) 写在前面 1.stm32cub ...
- SIMULINK下的STM32自动代码生成
SIMULINK下的STM32F4的自动代码生成 Author : zhou Date : 2019/1/28 安装软件: MATLAB2013b(包含coder generation工具 ...
最新文章
- 其他算法-两大随机采样方法简介
- 合肥高校计算机协会联盟部门
- 无法在源表中获得一组稳定的行_行输出变压器的结构、符号及电路分析
- libmysqld_dev linux,解决mysql安装mysqld doesn\'t exist or is not-鸟哥のlinux-ChinaUnix博客
- 基于JAVA+SpringMVC+Mybatis+MYSQL的图书馆座位预约系统
- IE 浏览器 js new Date NAN
- Git学习系列(一)初识Git
- 对阵Flash 实战HTML 5技巧之页面设计
- android新闻客户端实验报告,基于Android平台的新闻客户端设计与实现
- python是如何进行内存管理的_Python是如何进行内存管理的?
- paip.java 多线程参数以及返回值Future FutureTask 的使用.
- 服务器linux simsun.ttc is not a valid ttf file
- 用 Mixly 玩 ESP8266(ESP-01模块)之二
- Java并发编程:03-多线程并发下载器, 支持断点下载(手写不限速的迷你版迅雷)
- 【题解】P5369 [PKUSC2018]最大前缀和(状压 DP)
- 八皇后问题----Java实现
- java文件写入不覆盖_java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法...
- springboot实现的工厂模式
- Mac关闭Iphone更新系统iTunes强制自动备份文件
- Spring入门示例