[摘 要]ARM是微處理器行業的一家知名企業,設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件。文章總結了各種具有性能高、成本低和能耗省的技術,列舉了適用領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。
[關鍵詞]嵌入式系統 ARM 軟件開發
用戶選用ARM處理器開發嵌入式系統時,選擇合適的開發工具可以加快開發進度,節省開發成本。因此一套含有編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調試軟件、工程管理及函數庫的集成開發環境(IDE)一般來說是必不可少的,至于嵌入式實時操作系統、評估板等其他開發工具則可以根據應用軟件規模和開發計劃選用。
一、ARM嵌入式開發工具
ARM應用軟件的開發工具根據功能的不同,分別有編譯軟件、匯編軟件、鏈接軟件、調試軟件、嵌入式實時操作系統、函數庫、評估板、JTAG仿真器、在線仿真器等,目前世界上約有四十多家公司提供以上不同類別的產品。
ARM SDT可在Windows95、98、NT以及Solaris 2.5/2.6、HP-UX 10上運行,支持最高到ARM9(含ARM9)的所有ARM處理器芯片的開發,包括StrongARM。ADS對匯編、C/C++、java支持的均很好,是目前最成熟的ARM開發工具。很多ARM開發軟件(例如Keil)也是借用的ADS的編譯器。ADS在2006年版本已經發布到2.2。但國內大部分開發者使用的均是1.2版本。RealView MDK開發工具源自德國Keil公司,被全球超過10萬的嵌入式開發工程師驗證和使用,是ARM公司目前最新推出的針對各種嵌入式處理器的軟件開發工具。RealView MDK集成了業內最領先的技術,包括micro;Vision3集成開發環境與 RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulation設備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善超過20%。
JEENI仿真器支持ARM/THUMB指令,支持匯編/高級語言調試。用戶應用程序通過JEENI仿真器下載到目標RAM中。通過JEENI仿真器,用戶可以觀察/修改ARM7的寄存器和存儲器的內容,用戶可以在所下載的程序上設置斷點,用戶可以以匯編/高級語言單步執行程序,也可以全速運行程序,用戶可以觀察高級語言變量的數據結構及內容并對變量的內容在線修改。
JEENI 內部使用了一片帶有高速緩存的 ARM 處理器,支持對調試操作的快速響應,比如:單步、讀寫存儲器、讀寫寄存器和下載應用程序到目標板。JEENI 的這種結構,允許以太網接口在處理器執行JTAG指令的同時訪問存儲器。這種設計極大的提高了下載速度。JEENI仿真器能夠很好地與SDT2.5工具連接,用戶可使用SDT的編譯器和調試界面。JEENI 對那些正在使用ARM BlackICE/EmbeddedICE JTAG接口的用戶來說是即插即用的替代品。JEENI 可用于ARM SDT 2.11a 或 SDT 2.5,另外大多數第三方的調試器也都支持 JEENI。
二、RealView MDK優點
啟動代碼和系統硬件結合緊密,必須用匯編語言編寫,因而成為許多工程師難以跨越多門檻。RealView MDK的micro;Vision3工具可以幫您自動生成完善的啟動代碼,并提供圖形化的窗口,隨您輕松修改。無論對于初學者還是有經驗的開發工程師,都能大大節省時間,提高開發效率。RealView MDK的設備模擬器可以仿真整個目標硬件,包括快速指令集仿真、外部信號和I/O仿真、中斷過程仿真、片內所有外圍設備仿真等。開發工程師在無硬件的情況下即可開始軟件開發和調試,使軟硬件開發同步進行,大大縮短開發周期。而一般的ARM開發工具僅提供指令集模擬器,只能支持ARM內核模擬調試。
RealView MDK的RealView編譯器與ADS 1.2比較:代碼密度:比ADS 1.2編譯的代碼尺寸小10%;代碼性能:比ADS 1.2編譯的代碼性能高20%。RealView MDK無需尋求第三方編程軟件與硬件支持,通過配套的ULINK2仿真器與Flash編程工具,輕松實現CPU片內FLASH、外擴FLASH燒寫,并支持用戶自行添加FLASH編程算法;而且能支持FLASH整片刪除、扇區刪除、編程前自動刪除以及編程后自動校驗等功能,輕松方便。
三、ARM嵌入式造作系統
操作系統是一管理電腦硬件與軟件資源的程序,同時也是計算機系統的內核與基石。操作系統是一個龐大的管理控制程序,大致包括5個方面的管理功能:進程與處理機管理、作業管理、存儲管理、設備管理、文件管理。目前微機上常見的操作系統有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。
μC/OS-II 是一種基于優先級的搶占式多任務實時操作系統,包含了實時內核、任務管理、時間管理、任務間通信同步和內存管理等功能。它可以使各個任務獨立工作,互不干涉,很容易實現準時而且無誤執行,使實時應用程序的設計和擴展變得容易,使應用程序的設計過程大為減化。VxWorks 提供了一個快速靈活的與 ANSI C 兼容的 I/O 系統,包括 UNIX 標準的Basic I/O(creat(), remove(), open(),close(), read(), write(), and ioctl().),Buffer I/O (fopen(), fclose(), fread(), fwrite(), getc(), putc()) 以及POSIX 標準的異步 I/O。VxWorks 包括以下驅動程序:網絡驅動、管道驅動、RAM盤驅動、SCSI驅動、鍵盤驅動、顯示驅動、磁盤驅動、并口驅動等。
參考文獻:
[1]王學龍:嵌入式ARM系統設計與應用[M].北京:清華大學出版社,2007
[2]邢國良等:基于ARM的實時操作系統的分析與研究[J].小型徽型計算機系統,2006.