RealView MDK—引領(lǐng)ARM開(kāi)發(fā)工具新潮流
RealView 是ARM公司的開(kāi)發(fā)工具品牌,RealView MDK 是ARM新推出的嵌入式微控制器軟件開(kāi)發(fā)工具。它集成了業(yè)界領(lǐng)先的mVision IDE開(kāi)發(fā)平臺和RealView 編譯工具RVCT,良好的性能使它成為ARM開(kāi)發(fā)工具中佼佼者。
編譯鏈接工具RVCT
*RVCT是代碼編譯鏈接工具
編譯器是開(kāi)發(fā)工具的靈魂。RVCT 編譯器是ARM公司多年以來(lái)積累的成果,它提供了多種優(yōu)化級別,幫助開(kāi)發(fā)人員完成代碼密度與代碼執行速度上的不同層次優(yōu)化,是業(yè)界高效的ARM編譯器。
RVCT具有兩個(gè)優(yōu)化代碼的大方向,即代碼性能(-Otime)和代碼密度(-Ospace);四個(gè)逐次遞進(jìn)的優(yōu)化級別,即-O0、-O1、-O2、-O3。此外,RVCT還支持很多有用的編譯選項,如-no_inline(取消所有代碼的內嵌函數)、
-split_ldm(限制LDM/STM指令的最大操作寄存器數目)等等。
相對于編譯器ADS1.2,RealView MDK新增了-O3編譯選項,它可以最大程度的發(fā)揮RVCT編譯器的優(yōu)勢,將代碼譯成最佳。-O3有以下三個(gè)優(yōu)點(diǎn):
*自動(dòng)對代碼進(jìn)行高階標量?jì)?yōu)化,能夠根據代碼特點(diǎn)、針對循環(huán)、指針等進(jìn)行高階優(yōu)化;
*把盡可能多的函數編譯為內嵌函數;
*自動(dòng)應用多文件聯(lián)合優(yōu)化功能。
經(jīng)過(guò)統計,與ADS1.2的編譯工具比較,集成在RealView MDK中的RVCT編譯器可以將相同代碼的代碼大小平均縮小10%,性能平均提高20%,如圖1所示。
圖1 RealView 與ADS的比較
*RealView MicroLIB嵌入式應用的微型C函數庫
為進(jìn)一步提高應用程序代碼密度,RVCT中集成了新型的Microlib C函數庫,它是C函數的ISO標準實(shí)時(shí)庫的一個(gè)子集,可以將庫函數的代碼尺寸降低到最小,以滿(mǎn)足微控制器在嵌入式領(lǐng)域中的應用需求,如圖2所示。
圖2 RealView MDK MicroLIB庫
{{分頁(yè)}}
*丟棄冗余代碼功能
RVCT 鏈接器支持Linker Feedback功能,在鏈接過(guò)程中會(huì )產(chǎn)生一個(gè)Linker feedback文件,該文件記錄了整個(gè)系統中的所有冗余函數信息,RVCT編譯器會(huì )根據linker feedback文件將所有冗余函數單獨編譯,以便再次鏈接時(shí)丟棄。工作原理如圖3所示。
圖3 LINKER FEEDBACK 的原理
mVision IDE平臺
mVision IDE平臺是KEIL公司(現為ARM的子公司)開(kāi)發(fā)的微控制器開(kāi)發(fā)平臺,在全球已有超過(guò)10萬(wàn)的正式用戶(hù)。mVision IDE平臺可以支持51、166、251及ARM等近2000款微控制器應用開(kāi)發(fā)。RealView MDK集成了mVision IDE開(kāi)發(fā)工具和RVCT編譯工具,如圖4所示。
圖4 mVision IDE 平臺
{{分頁(yè)}}
自動(dòng)生成啟動(dòng)代碼
RealView MDK 提供了啟動(dòng)代碼生成向導,在建立新工程時(shí),MDK向導會(huì )根據客戶(hù)需求添加針對相關(guān)微控制器的匯編啟動(dòng)代碼。這項功能將大大簡(jiǎn)化用戶(hù)手寫(xiě)匯編啟動(dòng)代碼的難度。
MDK生成啟動(dòng)代碼之后,用戶(hù)可以手工編輯,修改某些參數更加符合系統要求,例如PLL時(shí)鐘配置,各種模式下的堆棧指針等等。同時(shí)MDK提供簡(jiǎn)單易用的GUI窗口,用來(lái)配置啟動(dòng)代碼中的參數。
仿真與性能分析工具
當前多數基于A(yíng)RM的開(kāi)發(fā)工具都有仿真功能,但是大多僅僅局限于對ARM內核指令集的仿真。MDK的系統仿真工具支持外部信號與I/O、快速指令集仿真、中斷仿真、片上外設(ADC、DAC、EBI、Timers、UART、CAN、I2C等等)仿真等功能。與此同時(shí),在軟件仿真的基礎上,MDK的性能分析工具方便用戶(hù)得到性能分析數據,進(jìn)行軟件優(yōu)化。
評論