当前位置:首页 > 电源 > 数字电源
[导读]一般单片机应用系统的产品开发采用的是自下而上的过程,即根据应用的需求,选择相应的从器件进行系统的硬件设计、制作、调试到软件功能实现函数。

    一般单片机应用系统的产品开发采用的是自下而上的过程,即根据应用的需求,选择相应的从器件进行系统的硬件设计、制作、调试到软件功能实现函数。在系统设计过程中,开发人员首先必须对特定硬件有较深入的了解,再总结出可以使用的方案。这种开发流程最大的弊端是,软件设计过程对硬件的依赖性很强,软件设计受到特定硬件平台的限制,而利用MATLAB/SIMULINK/RTW,可以完成一种基于模型的自上而下的开发流程。这种开发流程先搭建好整个系统的模型,可以直接设计算法,并且在SIMULINK中完成仿真过程。当仿真结构达到设计要求时,再通过RTW自动生成C代码,由嵌入式交叉编译工具生成在目标机上运行的应用程序,可缩短产品的研发周期,降低产品的研发成本。


1 MATLAB/RTW代码生成原理
    RTW(Real_Time Workshop)是MathWorks公司提供的代码自动生成工具,它可以使SIMULINK模型自动生成面向不同目标的代码。MATLAB7.O能生成ANSIC、ISO C和GNU源代码,它还提供了一个开放的接口,供第三方或者用户自己制定其他语言代码的自动生成。通过MATLAB/RTW可生成在PC、ARM、DSP等设备上运行的代码,以及在Windows、Unix、Linux、VxWorks等系统上的可执行文件。
    RTW的代码生成过程如图l所示。

    由图1可知,用户建立了SIMULINK模型,MAT LAB/RTW将该模型生成一个rtw文件,提供给目标语言编译器TLC,系统再通过指定的目标编译工具将各个模块编译、链接成该模型的C源程序。如果选择了编译下载功能,则RTW再调用make函数将源程序编译成能在目标机上运行的可执行文件,用户可将此文件移植到目标机上运行。

2 SIMU LlNK模型的代码生成和在ARM上的移植
   
利用MATLAB/RTW功能在ARM上进行程序开发的方案有多种。最直接的方案就是选用RTW支持的软硬件系统,在生成代码和应用程序时,不需要用户对编译环境作任何更改,就能实现代码的生成和下载。其次,可以先在ARM系统上移植嵌入式操作系统,由RTW生成应用程序模块后,通过FTP远程下载该模块。这种方案在RTW生成代码时,要安装能生成目标系统的交叉编译工具。第3种方案是更改RTW的目标编译方案,加入硬件驱动,RTW生成目标C源代码后由专用的ARM开发下载工具ADS编译和下载程序。这里介绍第3种方案。
    RTW的代码生成过程分为4个步骤:①分析模型并对模型描述文件进行编译;②由TLC从模型中生成代码;③生成自定义的联编文件(makefile);④生成可执行程序。
    模型分析过程中,首先计算对应的仿真和模块参数、采样时间以及工作向量的大小,确定模型中各模块的执行次序。模型分析结束时形成模型的中间描述文件model.rtw,再由TLC生成C源代码。此阶段根据model.rtw,编译和执行目标文件中的命令,生成C源代码。第三阶段是生成自定义的联编文件model.mk,指导联编程序从源代码、主程序、库文件或用户自定义模块进行编译和链接。最后由交叉编译工具生成可以在目标机上运行的可执行文件。

    代码生成过程中,与目标系统相关的文件有system.tle、system.tmf和system_main.c等,这3个文件存在于matlab7/rtw/c文件夹中。每一种目标机都有1个system.tle、1个system_main.c和若干个system.tmf。创建自定义的目标编译环境,需要创建以上3个文件。以LPC2200.tmf和LPC2200_main.c三个文件。为了简化建立过程,在matlab7/rtw/c中先建立LPC2200文件夹,将通用实时目标grt中的grt.tlc、grt_lcc.tmf和grt_main.c复制到该文件夹中,并改名为LPC2200.tlc、LPC2200.tmf和LPC2200_main.c。修改LPC2200.tlc中指定的模板联编文件:

   

    修改LPC2200.tmf中目标编译器参数和C源代码包含的文件等:

   

   

    在LPC2200_main.c中添加目标启动函数,包含文件和接口驱动程序。这样就构建了自定义目标的开发环境。在MATLAB/RTW的目标编译器参数中多了1个LPC2200.tlc,如图2所示。

    选择LPC2200目标后,在RTW主界面的Template makefile参数中出现了LPC2200.tmf,如图3所示。

    参数设置好,单击Build按钮,RTW就能自动生成适合在LPC2200上运行的C源代码。将所生成的源代码添加到ADS工程中,编译下载后,就完成了SIMULINK模型到LPC2200上的移植。

结语

    本文介绍的方法,已在ARM和51单片机上实现了相应的应用系统。通过快速生成代码原型,降低了设计者手工编写代码的复杂度,加快了设计进程。对于一种固定的目标硬件系统,只要一次设计好编译环境,就可以实现SIMULINK模型到ARM上的移植,即半实物仿真。本设计中, 不足之处在于没有在目标机ARM系统上加载操作系统,因而每次更改模型时,必须重新下载所有的代码,不适用于远程程序下载。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭