《點滴時間學ARM》原始問題:ARM裸機程序開發(fā)環(huán)境?從OS角度來分,可以分為兩類:Windows系統(tǒng)下的開發(fā)環(huán)境和Linux系統(tǒng)下的開發(fā)環(huán)境。這里所說的OS是我們PC機上使用的。 Ø Windows平臺下:SDT、ADS、RVDS、MDK、DS-5 ADS的前身是SDT,RVDS的前身是ADS,目前在ARM公司的推薦下,工具鏈官方推薦的有三個即RVDS、MDK、DS-5。下面分別對這三種工具進行介紹。 (一)RVDSRVDS全稱為Real View Development Suite,主要有四大模塊組成: 1、IDE:RVDS中集成了Eclipse IDE,用于代碼的編輯和管理。支持語句高亮和多顏色顯示,以工程的方式管理代碼,支持第三方Eclipse功能插件 2、RVCT:編譯器,支持全系列的ARM和XSCALE架構,支持匯編、C和C++。 3、RVD:調(diào)試軟件,支持Flash燒寫和多核調(diào)試,支持多種調(diào)試手段,快速錯誤定位。 4、RVISS:指令集仿真器,支持外設虛擬,可以使軟件開發(fā)和硬件開發(fā)同步進行,同時可以分析代碼性能,加快軟件開發(fā)速度。 同時RVDS有如下特點: ADS1.2是ARM公司在1998年的產(chǎn)品,RVDS結合一流的ARM編譯器和市場領先的ARM® Profiler ,使應用程序可以同時實現(xiàn)高性能和最佳代碼密度。相比ADS來說能夠生成更小的可執(zhí)行文件,節(jié)省ROM空間。此外,此產(chǎn)品還包括針對 NEON™ 媒體處理引擎的矢量化編譯,這可以將以標準 C 代碼編寫的多媒體應用程序的性能提高兩倍以上。支持最新的 Cortex™-A9 、Cortex™-A5 和Cortex™-M4 處理器。高度優(yōu)化的 ARM 編譯器,支持所有當前版本的 ARM 處理器、Thumb 和 Thumb-2 指令集并支持 NEON SIMD 指令集以及矢量化 NEON 編譯器。非侵入式實時追蹤調(diào)試和以分鐘、小時或天為單位跟蹤軟件執(zhí)行情況,同時確保處理器以正常工作頻率運行。Profiler 插件能基于軟件的動態(tài)行為進行自動優(yōu)化。也可以讓開發(fā)者通過更主動的方式優(yōu)化源程序的熱點區(qū)域性能來提高代碼性能,并通過分析代碼覆蓋率來改進代碼大小。使用實時系統(tǒng)模型(以約 200MHz 頻率運行的完整 ARM 處理器實時系統(tǒng)模型)開發(fā)高性能軟件。鏈接時代碼生成,這樣,不僅可以跨源代碼文件進行優(yōu)化,同時極好地與現(xiàn)有 makefile 技術相結合。 (二)MDKMDK是Keil公司開發(fā)的ARM開發(fā)工具,MDK包含了工業(yè)標準的Keil C編譯器、宏匯編器、調(diào)試器、實時內(nèi)核等組件,支持所有基于ARM的設備,能幫助工程師按照計劃完成項目。 MDK-ARM有四個可用版本,分別是MDK-Lite、MDK-Basic、MDK-Standard、MDK-Professional。所有版本均提供一個完善的C / C++開發(fā)環(huán)境,其中MDK-Professional還包含大量的中間庫。 IDE環(huán)境是μVision IDE,對于早期開發(fā)單片機的同學們來說,這個倍感親切,至少對于AlexLee來說,非常的親切。 其特點如下: 完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件。 業(yè)行領先的ARM C/C++編譯工具鏈 確定的Keil RTX ,小封裝實時操作系統(tǒng)(帶源碼) μVision4 IDE集成開發(fā)環(huán)境,調(diào)試器和仿真環(huán)境 TCP/IP網(wǎng)絡套件提供多種的協(xié)議和各種應用 提供帶標準驅(qū)動類的USB 設備和USB 主機棧 為帶圖形用戶接口的嵌入式系統(tǒng)提供了完善的GUI庫支持 ULINKpro可實時分析運行中的應用程序,且能記錄Cortex-M指令的每一次執(zhí)行 關于程序運行的完整代碼覆蓋率信息 執(zhí)行分析工具和性能分析器可使程序得到最優(yōu)化 大量的項目例程幫助你快速熟悉MDK-ARM強大的內(nèi)置特征 符合CMSIS (Cortex微控制器軟件接口標準)
(三)DS-5DS-5全稱為ARM Development Studio 5,是一款針對 ARM 支持的 Linux 和 Android 平臺的全面的端到端軟件開發(fā)工具套件。ARM DS-5 提供具有跟蹤、系統(tǒng)范圍性能分析器、實時系統(tǒng)模擬器和編譯器的應用程序和內(nèi)核空間調(diào)試器。這些功能包括在定制、功能強大且用戶友好的基于 Eclipse 的 IDE 中。借助于該工具套件,可以很輕松地為 ARM 支持的系統(tǒng)開發(fā)和優(yōu)化基于 Linux 的系統(tǒng),縮短開發(fā)和測試周期,并且可幫助工程師創(chuàng)建資源利用效率高的軟件。這個工具被ARM官方極力的推薦,對于AlexLee來說,這個工具非常的陌生,還沒有用過。 相對于KEIL和RVDS兩款開發(fā)軟件,DS-5新增了以下功能。 DS-5 調(diào)試器:可訪問 NEON 寄存器,能夠?qū)С龈檾?shù)據(jù),增強了內(nèi)聯(lián)支持,具備 Linux 內(nèi)核跟蹤篩選功能等。 Streamline:用于分析報告的基于時間的篩選,用于時間測量和快速熱點分析的可伸縮、跨部分的標記,獨立的共享庫分析,以及支持 CPU 熱插拔。 IDE采用定制的 Eclipse IDE,與第三方插件兼容,這對于JAVA工程來說,一定會非常的高興。 ARM 工具系列為 JTAG/SWD 調(diào)試連接和非侵入性跟蹤提供兩種 DS-5 兼容的調(diào)試適配器。ARM 強烈建議將 DSTREAM 用于新項目。
Ø Linux平臺下:GNU Cross-Toolchain (四)GNU Cross-Toolchain這個對于嵌入式Linux工程師來說非常的熟悉,它主要集成了四種工具: cross assembler:匯編器 cross compile:編譯器 cross library:庫 交叉編輯器的工作流程為: 源代碼 (source code) →預處理器 (preprocessor) → 編譯器 (compiler) → 匯編程序 (assembler) → 目標代碼 (object code) → 鏈接器 (Linker) → 可執(zhí)行程序 (executables)
|