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