Date Page 1 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn Siener Aug. 28 h , 2013 HighTec GNU编译器 +Matlab自 动代码生成(Matlab调用GNU)
Date
Page 1 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener
Aug. 28h, 2013
HighTec GNU编译器 +Matlab自动代码生成(Matlab调用GNU)
Date
Page 2 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
通过一个简单的例子来阐述simulink建立的模型直接
生成可写入单片机的.elf文件。
通过插件把GNU和,matlab关联起来,使用matab建
立控制模型,选择MCU型号,生成代码,
调用GNU编译器,对生成的C代码结合GNU带有的底层驱
动库,进行编译,产生可直接写入到目标板子的.elf文件
整个过程不需要手动添加代码,只需要matlab建立模型。
Matlab建模
生成C代码
GNU编译器
编译、链接,产生.elf文件
UDE/UAD
TriBoard
Matlab调用GNU编译器
GNU底层驱动bsp文件
TC1797
P3
Simulink code
LED灯
底层code
Date
Page 3 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
需要使用到的软件:
Matlab R2013a
HighTec GNU v4.6.3.0
UDE3.0
TriBoard1797
插件embedded_coder_htc_plugin_v0_02a
解压embedded_coder_htc_plugin_v0_02a产生两个文件
mathworks_embedded_coder_rel_v0_02a和tricore_bsp_v4x,
把这两个文件存放在F:\目录下
Date
Page 4 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
打开matlab,设置matlab的工作路径如下、运行插件。
设置工作目录为
① 运行install_hightec_embedded.m ②
运行startup.m
③
Date
Page 5 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
打开example里面的T007_LED.slx文件,打开了simulink模型
Date
Page 6 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
Simulation——Model Configuration Parameters,打开了Configuration Parameters窗口
Date
Page 7 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
Solver——选择Fixed-step,选择discrete(no continuous states)
① ② ③
Date
Page 8 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
Code Generation——Browse——hightec_embedded_tricore.tlc
①
②
③
Date
Page 9 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和C代码生成
Code Generation——Report——Create code generation report
①
②
Date
Page 10 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
Code Generation——HighTec Options——Tricore Board Type:TriBoard-TC1797
Tricore CPU Type:tc1797
①
②
③
Date
Page 11 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
Code Generation——build,编译工程。
①
②
Date
Page 12 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
Build工程后,出现了生成代码报告,表明matlab模型成功的生成了c.h代码文件。
(如果弹出浏览窗口,要找到bsp路径,浏览F:\tricore_bsp_v4x\bsp\TriBoard-TC1797)
生成的.c.h文件
Date
Page 13 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
Build工程后,不但出现了代码生成报告 ,还生成了可直接写入到单片机的.elf文件
生成的.c.h文件
Date
Page 14 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
使用UDE把生成把T007_LED.elf直接烧写进 TC1797,运行程序,可以看到LED1、LED2、
LED3闪烁着,闪烁的变化和所建立的simulink模型控制策略一样。
Date
Page 15 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener Matlab建模和调用GNU
Matlab直接生成和MCU型号,以及编译器GNU相关的上层策略文件(.c.h
文件),这些文件之中不包括底层寄存器,但是包括一些编译器定义的
C语言规范和定义
底层驱动在bsp文件中(插件文件中)。
这种建模生成嵌入式代码的方式,方便快捷 、更有利益开发者花更多的时
间去研究控制策略,但是需要做好的底层驱动来配合。可能会造成底层驱
动开发不够灵活,并且要去购买做好的标准的底层驱动。
Date
Page 16 Beijing Siener Electronics Tech. Development Ltd. Http://www.siener.cn
Siener 联系我们
联系人: 刘为文
手机: 13910762622
电话(Tel): 010-85791747
E-mail: [email protected]
网 址: www.siener.cn
http: //www.pls-mc.com http://www.hightec-rt.com