1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > matlab rtdemo怎么生成 simulink——RTW自动代码生成简介

matlab rtdemo怎么生成 simulink——RTW自动代码生成简介

时间:2023-04-21 23:37:04

相关推荐

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://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://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

(该路径为 matlaba版本,其余版本略有不同)

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

【实例截图】

【核心代码】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。