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