2018

收稿日期

:2018

-

01

-

02

收修改稿日期

:2018

-

02

-

01

基金项目

:

国家自然科学基金项目

(51405270)

资助

.

作者简介

:

,

,1991

,

硕士研究生

,

研究方向汽车电子

;

张承瑞

,

,1957

年生

,

博士

,

教授

,

研究方向数字智能制造理论和系统

汽车电控系统等

;

,

,1980

年生

,

硕士

,

讲师

,

研究方向汽车电子

.

利用

MATLAB

/

RTW

的嵌入式代码自动生成与整合

1

,

张承瑞

1

,

2

1

(

山东大学

机械工程国家级实验教学示范中心

,

济南

250061)

2

(

山东建筑大学

机电工程学院

,

济南

250101)

E-mail

:

sduchenpan

@

163

.

com

:

自动代码生成技术是基于模型的开发的重要技术

,

也是

V

流程设计的重要组成部分

,

利用

MATLAB

生成代码的方式

最为普遍

.

为满足开发的不同需求

,

往往需要设计代码生成的过程

.

而对

MATLAB

工具的代码生成过程控制不够常常会导致

生成代码不如预期

,

生成代码需要手动整合等问题

.

借助

MATLAB

/

RTW

工具

,

然后利用

MATLAB

ActiveX

,

通过

COM

接口

执行编译器命令

,

可摆脱手动整合的麻烦

,

同时实现底层驱动代码与应用代码的整合

,

自动代码生成和一键下载

.

:

V

流程

;

COM

;

MATLAB

/

RTW

;

驱动代码

;

自动代码生成

中图分类号

:

TP

391

文献标识码

:

A

:

1000

-

1220

(

2018

)

04

-

0738

-

04

Automatic

Generation

and

Integration

of

Embedded

Code

with

MATLAB

/

RTW

CHEN

Pan

1

,

ZHANG

Cheng-rui

1

,

LUO

Ying

2

1

(

National

Demonstration

Center

for

Experimental

Mechanical

Engineering

Education

,

Shandong

University

,

Jinan

250061

,

China

)

2

(

School

of

Mechanical

and

Electrical

Engineering

,

Shandong

Jianzhu

University

,

Jinan

250101

,

China

)

Abstract

:

Automatic

code

generation

technology

is

the

key

technology

based

on

model

development

and

also

an

important

part

of

V-

flow

design.

The

way

to

generate

code

by

MATLAB

is

the

most

common.

To

meet

the

special

needs

of

development

,

it

is

often

neces-

sary

to

complete

the

design

of

the

build

process.

However

,

insufficient

control

of

code

generation

process

of

MATLAB

often

leads

to

problems

such

as

poor

code

generation

and

manual

integration

of

generated

code.

With

MATLAB

/

RTW

tools

,

the

MATLAB

Ac-

tiveX

,

and

compiler

commands

through

the

COM

interface

,

the

trouble

of

manual

integration

can

be

gotten

rid

of

,

while

achieving

con-

trol

of

the

underlying

driver

code

,

application

code

integration

,

automatic

code

generation

and

one-click

download.

Key

words

:

V-flow

;

COM

;

MATLAB

/

RTW

;

driver

code

;

automatic

code

generation

1

随着软

,

[1]

汽车电子

[2]

航天和导弹制导

[3]

等领域得到广泛的应

.

自动代码生成相比于手工编程

,

能够减少偶然的

bug

,

少重复劳动的时间

,

提高嵌入式系统的可靠性

[4]

.

MAT-

LAB

/

Simulink

,8051、

飞思

DSP

563

XX

C

166

ARM

系列等芯片都有对应的

toolbox

支持

,

在创建

MAT-

LAB

/

Simulink

模型后

,

通过

RTW

工具

,

可直接生成控制代

.

而外围器件选型或布置等设计变化可能导致用户不能直

接通过工具生成代码

.

为了满足不同项目的嵌入式控制器的

设计需求

,

需要

MATLAB

/

Simulink

RTW

,

结合实际需求设计代码生成工具

,

进而使代码的生成符合

预期

,

同时提高代码质量

.

本文从

RTW

的工作原理出发

,

飞思卡尔

S

12

X

系列单片机为例

,

利用

COM

技术连接

MAT-

LAB

/

Simulink

CodeWarrior

IDE

,

整合驱动层与应用层

,

后实现自动代码生成

,

并且代码无需手动修改

,

能够直接下载

到目标板上

.

2

MATLAB

/

RTW

与代码生成

RTW

(

Real-Time

Workshop

)

是基于

Simulink

的代码自动

生成环境

.

Simulink

软件生成一个包含框图执行语义的高级

表示文件

model.

rtw

文件

.

model.

rtw

文件是一个

ASCII

格式数据库

,

其中的内容描述了

Simulink

模型中的各个块的

包括属性名称和属性值等

.

目标语言编译器

(

TLC

)

读取

mod-

el.

rtw

文件并将其转换为内部表示

,

并根据其他模块

TLC

件等修改最初的

model.

rtw

文件

.

RTW

下能直接从

Simu-

link

的模型中产生优化的

可移植的和个性的代码

,

并根据目

标配置自动生成多种环境下的程序

[5]

.

RTW

环境下的代码生

成过程有如下四个部分

:

1)

RTW

读取模型文件

model.

mdl

,

生成模型的描述文件

model.

rtw

,

该文件以

ASCII

码存储

;

2)

TLC

读取

model.

rtw

,

并根据的系统

TLC

与模块

TLC

文件

,

生成指定目标的代码

,

ANSI

C

/

C

+

+

代码

;

3)

RTW

代码生成器根据给定的模型

,

makefile

模板

生成具体的

makefile

文件

(

model.

mk

),

英飞凌代码生成_利用MATLAB-RTW的嵌入式代码自动生成与整合相关推荐

  1. 国产自主可控的形式化验证代码自动生成工具ModelCoder可替代Matlab/Sumlink

    在安全关键领域,基于模型的软件工程或者软件开发已逐渐进入了我国的装备研制过程中.使用SimuLink或者SCADE等嵌入式软件建模工具对算法或者控制逻辑进行可视化建模,然后生成高可靠的二进制代码逐渐成 ...

  2. html自动生成工具_关于STM32代码自动生成的工具的进度....

    前情提要:STM32代码自动生成工具_本想...但是...可是...所以 首先说一下那几天大家的反应,有的持观望态度,毕竟STM32CUBE很香:有的很激动,期待我快点出东西:还有的很淡定,知道我在挖 ...

  3. lin通信ldf文件解析_基于LIN协议的代码自动生成系统及方法_2014108531085_说明书_专利查询_专利网_钻瓜专利网...

    技术领域 本发明属于汽车电子LIN网络通讯领域,公开了一种利用LDF文件自动生成LIN通讯软件代码的方法. 背景技术 目前汽车电子产品的软件开发逐渐向模块化.标准化.集成化.自动化发展.LIN通讯模块 ...

  4. matlab之用m脚本自动生成exe文件

    matlab之用m脚本自动生成exe文件 文章目录 matlab之用m脚本自动生成exe文件 0.前言 1.生成exe文件分两种情况 2.生成文件在自己电脑上运行 3.生成文件在其他电脑上运行 0.前 ...

  5. C++包扩展_利用 MATLAB Coder 将M代码生成C/C++代码

    利用MATLAB Coder将MATLAB代码生成C/C++代码​mp.weixin.qq.com MATLAB Coder 可以将MATLAB代码生成工程中常用的嵌入式或其他硬件平台的C或者C++代 ...

  6. matlab如何截取图像的中间部分_利用matlab提取并分割RGB图像中的某一个已知像素值的图像...

    已知一副RGB图像中的的像素值,利用matlab将其分割出来并以二进制图像形式显示: %extract.m clear all; I=imread('new_original.png'); figur ...

  7. matlab相关性分析频谱_利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]

    <利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]>由会员分享,可在线阅读,更多相关<利用Matlab绘制正弦信号的频谱图并做相关分析[共6页](6页珍藏版)>请在人 ...

  8. matlab相关性分析频谱_利用matlab怎样进行频谱分析、、

    利用 matlab 怎样进行频谱分析 图像的频率是表征图像中灰度变化剧烈程度的指标, 是灰度在平面空间上的 梯度. 如: 大面积的沙漠在图像中是一片灰度变化缓慢的区域, 对应的频率值很 低:而对于地表 ...

  9. matlab的qammod函数_利用matlab实现16QAM调制

    利用matlab实现16QAM调制 2020-12-22 一.随机信号的调制第一个示例描述以下问题: 下表描述了解决此问题的关键任务和相应的通信工具箱函数,其中选择基带16QAM作为调制制式以及加性高 ...

最新文章

  1. playframework学习笔记1 -- 开发环境和第一个工程
  2. Java Native Interface 六JNI中的异常
  3. RabbitMQ的Work模式
  4. JVM-并发-Java 内存模型
  5. 12种NumpyPandas高效技巧
  6. 未能连接到许可证服务器 发生错误 -96,ug启动许可证错误怎么办 UG软件启动许可证错误96解决方法...
  7. sublime text 3 3103 注册码
  8. c语言求今年第m月的天数,《C语言及程序设计》实践参考——当年第几天(数组方案)...
  9. 高中计算机算计Access怎么做,Access非常简单实用的计算器
  10. Qt学习之路(51): QByteArray和QVariant
  11. matlab2014调用vs2015进行混合编译生成mex文件
  12. 《嵌入式 – GD32开发实战指南》第4章 GD32启动流程详解(Keil版)
  13. 常用的几个框架官网【前端 / 自用】
  14. 【STM32】开发板学习1 NUCLEO-L476RG:GPIO例程 点亮LED2灯
  15. js打开新窗口并且不被拦截
  16. 10年过去,人们买不起旗舰机了
  17. ansys apdl变量基本操作
  18. 【MySQL】查看支持的字符集show character set;
  19. Linux下PHP使用selenium、chrome、chromedriver模拟无界面浏览器
  20. 计算机的组成:硬件和软件

热门文章

  1. XCTF MISC 新手区 掀桌子
  2. 计算机设计色彩ppt课件,《多媒体技术》PPT课件.ppt
  3. Nvidia显卡主机安装Ubuntu系统踩坑小结(Z1-Entry-Tower-G6主机安装Ubuntu-18.04)
  4. 那些年,追过的开源软件和技术
  5. win10 息屏 休眠 拓展坞 有线网口断连
  6. 吸烟的烟民注意了:国家有大动作
  7. 红包的分配算法php,php仿微信红包分配算法的实现方法,红包算法
  8. WaterDrop下载与安装
  9. HID 设备PC端软件的开发
  10. bootstrap表格插件php,bootstrap table表格插件使用详解