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

2008-7-30 12:31 5036 9 9 分类: MCU/ 嵌入式
微控制器开发工具

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


  编译链接工具RVCT


  *RVCT是代码编译链接工具


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


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


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


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


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


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


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


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


20071204203424509.jpg


图1  与ADS的比较


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


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


20071204203443677.jpg


图2  MicroLIB库


{{分页}}


  *丢弃冗余代码功能


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


20071204203459719.jpg


图3  LINKER FEEDBACK 的原理


  mVision IDE平台


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


20071204203518359.jpg


图4  mVision IDE 平台


{{分页}}


  自动生成启动代码


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


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


  仿真与性能分析工具


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

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /3 下一条