原创 RealView MDK—引领ARM开发工具新潮流

2009-9-17 17:11 3020 4 4 分类: 模拟
作者:    时间:2007-12-05    来源: 
 
      

RealView MDK微控制器开发工具


RealView 是ARM公司的开发工具品牌,RealView MDK 是ARM新推出的嵌入式微控制器软件开发工具。它集成了业界领先的mVision IDE开发平台和RealView 编译工具RVCT,良好的性能使它成为ARM开发工具中佼佼者。


编译链接工具RVCT


*RVCT是代码编译链接工具


编译器是开发工具的灵魂。RVCT 编译器是ARM公司多年以来积累的成果,它提供了多种优化级别,帮助开发人员完成代码密度与代码执行速度上的不同层次优化,是业界高效的ARM编译器。


RVCT具有两个优化代码的大方向,即代码性能(-Otime)和代码密度(-Ospace);四个逐次递进的优化级别,即-O0、-O1、-O2、-O3。此外,RVCT还支持很多有用的编译选项,如-no_inline(取消所有代码的内嵌函数)、


-split_ldm(限制LDM/STM指令的最大操作寄存器数目)等等。


相对于编译器ADS1.2,RealView MDK新增了-O3编译选项,它可以最大程度的发挥RVCT编译器的优势,将代码译成最佳。-O3有以下三个优点:


*自动对代码进行高阶标量优化,能够根据代码特点、针对循环、指针等进行高阶优化;


*把尽可能多的函数编译为内嵌函数;


*自动应用多文件联合优化功能。


经过统计,与ADS1.2的编译工具比较,集成在RealView MDK中的RVCT编译器可以将相同代码的代码大小平均缩小10%,性能平均提高20%,如图1所示。





图1 RealView 与ADS的比较


*RealView MicroLIB嵌入式应用的微型C函数库


为进一步提高应用程序代码密度,RVCT中集成了新型的Microlib C函数库,它是C函数的ISO标准实时库的一个子集,可以将库函数的代码尺寸降低到最小,以满足微控制器在嵌入式领域中的应用需求,如图2所示。





图2 RealView MDK MicroLIB库


*丢弃冗余代码功能


RVCT 链接器支持Linker Feedback功能,在链接过程中会产生一个Linker feedback文件,该文件记录了整个系统中的所有冗余函数信息,RVCT编译器会根据linker feedback文件将所有冗余函数单独编译,以便再次链接时丢弃。工作原理如图3所示。





图3 LINKER FEEDBACK 的原理


mVision IDE平台


mVision IDE平台是KEIL公司(现为ARM的子公司)开发的微控制器开发平台,在全球已有超过10万的正式用户。mVision IDE平台可以支持51、166、251及ARM等近2000款微控制器应用开发。RealView MDK集成了mVision IDE开发工具和RVCT编译工具,如图4所示。





图4 mVision IDE 平台


自动生成启动代码


RealView MDK 提供了启动代码生成向导,在建立新工程时,MDK向导会根据客户需求添加针对相关微控制器的汇编启动代码。这项功能将大大简化用户手写汇编启动代码的难度。


MDK生成启动代码之后,用户可以手工编辑,修改某些参数更加符合系统要求,例如PLL时钟配置,各种模式下的堆栈指针等等。同时MDK提供简单易用的GUI窗口,用来配置启动代码中的参数。


仿真与性能分析工具


当前多数基于ARM的开发工具都有仿真功能,但是大多仅仅局限于对ARM内核指令集的仿真。MDK的系统仿真工具支持外部信号与I/O、快速指令集仿真、中断仿真、片上外设(ADC、DAC、EBI、Timers、UART、CAN、I2C等等)仿真等功能。与此同时,在软件仿真的基础上,MDK的性能分析工具方便用户得到性能分析数据,进行软件优化。


·外设仿真


RealView MDK 仿真器可以模拟包括ARM内核与片上外设工作过程在内的整个目标硬件,同时仿真器还可以支持对外部中断、外部I/O信号等外部信号源的仿真。开发人员可以在完全脱离硬件的情况下开始软件的开发调试,通过软件仿真器观察程序的执行结果。此外,MDK提供开放的AGSI接口,支持用户添加自行设计的外设仿真。


*逻辑分析仪


mVision3逻辑分析仪可以将指定变量或VTREGs值的变化以图形方式表示出来。


*代码覆盖率


代码覆盖率对话框提供了程序各个模块函数执行情况的统计,在Current Module(当前模块)下拉列表框中列出了程序所有的模块,在下面窗口中显示了相应模块中指令的执行情况,即每个函数的指令执行百分比,而且已执行了的部分均以绿色标出。


*执行剖析器与性能分析仪


执行剖析器可以记录执行全部程序代码所需的时间,用Call(显示执行次数)和Time(显示执行时间)两种方式显示。


性能分析仪用于记录和显示程序的执行时间。它可以记录整个程序代码的时间统计信息。


除了上述MDK特有的调试功能外,RealView MDK也包括调试功能,如断点设置、反汇编、串行显示、观察窗口等等。


RTX实时内核


针对复杂的嵌入式应用,MDK内部集成了由ARM开发的实时操作系统(RTOS)内核RTX,它可以帮助用户解决多时序安排、任务调度、定时等工作。值得一提的是,RTX可以无缝集成到MDK工具中,是一款需要授权的、无版税的RTOS。RTX程序采用标准C语言编写,由RVCT编译器进行编译。


支持Cortex M3


Cortex M3 是ARM公司继ARM11后新推出的基于ARM v7M架构,面向MCU用户的内核,Cortex M3 相对8位单片机优势明显。RealView MDK是目前ARM开发工具中少数能支持Cortex M3的工具。


掌握RealView MDK的四个步骤


用户可以通过4个简单的步骤完成大多数应用的开发。


选择芯片型号与目标硬件


相对于一般的ARM开发工具来说,RealView MDK对开发调试的支持不仅限于ARM内核级,更是可以达到芯片级的支持。在开发前用户可以根据需求选定数量超过200多款芯片的具体型号。


配置硬件和编写应用代码


成功选择合适的芯片并新建工程之后,用户可以在“Components,Environment and Books” 对话框中编辑工程的框架,包括增删Groups和Files等,并且有更多选项可供选用,如图6所示。





图5 Components,Environment and Books 对话框


软件调试和仿真


在与硬件开发平台上调试之前,用户可以通过软件仿真器,进行仿真调试。


FLASH固化与硬件调试


ULINK-2是Real View MDK的硬件调试单元。它采用即插即用的USB接口与宿主机连接,支持多达30种以上的FLASH烧写算法,FLASH烧写速度最高可达20KB/秒。同时,ULINK-2以80KB/秒的速度下载代码到RAM中,并支持断点、单步执行、寄存器与存储器资源查看等功能。


中国版RealView MDK


MDK以其良好的性能深受欧美客户的喜爱。ARM公司结合本地市场的具体情况,与英蓓特公司合作,给中国版RealView MDK制订了合理优惠的定价,使中国版MDK成为目前国内市场上性价比较高的ARM开发工具之一。中国版MDK专门针对国内开发工程师而量身定做,既保留了MDK国际版的性能,又提供了本地化的价格,并且提高评估版本。详细情况请访问网站www.realview.com.cn。


show_label.gif标签:  RealView  ARM  微控制器



 发表评论
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条