一、引言 作為Soc(System On Chip)的典型應用,和持電話、機頂盒、數碼像機、GPS、個為數字助理以及因特網設備等產品的市場需求越來越大。目前,基于ARM的處理器以其高速度、低功耗等諸多優異的性能而成為上述各類產品中選用較多的處理器。 二、ARM內核 ARM內核分為ARM7、ARM9、ARM10以及StrongARM等幾類。其中每一類又根據其各自包含的功能模塊而分成多種構成在ARM內核中有四個功能模塊可供生產廠商根據不同用戶的不同要求來配置生產。這四個模塊分別用T、D、M和I來表示。 T:表示Thumb,該內核可從16位指令集擴充到32位ARM指令集。 D:表示Debug,該內核中放置了用于調試的結構,通常它為一個邊界掃描JTAG,可使CPU進入調試模式,從而可方便地進行斷點設置、單步調試。 M:表示Multiplier,是8位乘法器。 I:表示EmbeddedICE Logic,用于實現斷點觀測及變量觀測的邏輯電路部分,其中的TAP控制器可接入到邊界掃描鏈。 ARM7 ARM7 采用ARMV4T(Newman)結構,分為三級流水,空間統一的指令與數據Cache,平均功耗為0.6mW/MHz,時鐘速度為66MHz,每條指令平均執行1.9個時鐘周期。其中的ARM710,ARM720和ARM740為內帶Cache的ARM核。 ARM9 ARM9 采用ARMV4T(Harvard)結構,五級流水處理以及分離的Cache結構,平均功耗為0.7mW/MHz。時鐘速度為120MHz- 200MHz,每條指令平均執行1.5個時鐘周期。與ARM7系列相似,其中的ARM920、ARM940和ARM9E為含Cache的CPU核。性能為132MIPS(120MHz時鐘,3.3V供)或220MIPS(200MHz時鐘)。 ARM10 ARM10采用ARMV5T結構,六級流水處理,指令與數據分離的Cache結構。平均功耗為1000mW,時鐘速度為300MHz,每條指令平均執行1.2個周期,其中ARM1020為帶Cache的版本。 ARM10TDMI:與所有ARM核在二進制級代碼兼容,內帶高速32X16MAC,預留DSP協處理器接口。其中的VFP10(矢量浮點單元)為七級流水結構。 ARM1020T: ARM10TDMI+32KI&D Caches+MMU結構,300MHz時鐘,功耗為1W(2.0V供電)或00mW(1.5V供電)。指令 Cache和數據Cache分別為32K,寬度為64bits。能夠技術多種商用操作系統。適用于下一代高性能手持式因特網設備及數字式消費類應用。 StrongARM StrongARM處理器采用ARMV4T的五級流水結構。目前有SA110、SA1100以及SA1110等三個版本。 三、ARM7系列開發工具及開發環境 1.軟件開發工具 Green Hills Tools: Green Hills的ARM軟件工具包能夠支持ARM6、ARM7、ARM7M、ARM7TM、ARM7TDMI、ARM7500FE、ARM8、 ARM9、ARM10以及StrongARM等系列處理器。它由編譯器、交叉工具包、集成開發環境和調試接口等組成。 Compiler:高優化性能的C/C++編譯器。 Cross Tool Chain:交叉開發工具。包括匯編器(Assembler)、連接器(Linker)、庫函數以及目標代碼格式轉換器。 MULTI:集成開發環境。Green Hills的MULTI集成環境綜合了軟件開發和調試過程中要用到的各種工具,如源級調試器、工程管理器、版本控制器、文本編輯器、性能分析器、圖形瀏覽器。運行出錯檢測器、ARM指令集仿真器以及底層調試接口等。用戶可方便地在MULTI環境中利用上述工具來開發應用程序。 Servers:底層調試接口。Green Hills的Servers提供兩類調試接口供用戶選擇使用。一類用于Angel監控器、在線仿真器以及EPI公司的JEENI JTAFG仿真器等;另一類則用于商用操作系統及用戶自己編寫的操作系統。 ASDT2.5:SDT2.5是ARM公司提供的一大套由C編譯器、連接定位器、C語言調試器和Angel監控器組成的開發軟件包。由于價格比較適中而應用比較廣泛。 2.硬件開發工具 ARM 的硬件開發工具主要包括兩類仿真器,一是JTAG仿真器,二是全功能在線仿真器。前者是利用ARM處理器中的調試模塊的功能,通過其JTAG邊界掃描口來與仿真器連接。這種方式的仿真器比較便宜,連接比較方便。但由于僅通過十幾條線來調試,因而功能有局限。目前ARM處理器的JTAG仿真器在市場上比較流行的是EPI公司的JEENI和MAJIC,著名的德國Lauterbach公司有一款通用JTAG/BDM/ONCE仿真器TRACE32-ICD也能夠很好的支持ARM系列處理器。對于全功能在線仿真器來說,由于其信真頭完全取代目標板上的CPU,因而功能非常強大。但這類仿真器為了能夠全速仿真時鐘速度高于100MHz的處理器,通常必須采用極其復雜的設計和工藝,因而其價格比較昂貴。Lauterbach公司的TRACE32-Fire就是這類產品的佼佼者。 JEENI仿真器:這是一種價位較低的JTAG仿真器。它能夠很好地與SDT2.5工具連接。用戶可使用其編譯器和調試界面。 MAJIC仿真器:與JEENI相比,MAJIC能夠通過100base-T以太網與主機相連,支持多處理器和低電壓I/O。 TRACE32 -ICD:這是一種通用JTAG/BDM/ONCE仿真器,既能夠支持Motorola系列的68K、ColdFire、MPC5XX/8XX、 MPC82XX,又能夠通過更換模塊來支持ARM7系列CPU.同時也能夠支持SIEMENS的ONCE方式,如TriCore、C166等。另外, TRACE32-ICD提供獨特的RISC邏輯追蹤功能。 TRACE32Fire:這是全功能ICE,提供強大的調試和偵錯功能。 四、支持ARM7的RTOS及其系統開發 目前在國內,ARM7的應用較多,ARM9、ARM10的使用尚未開始。在引,我們以ARM7的應用來例來說明ARM7系統的構成及其OS的應用。 ARM7 處理的生產廠商很多,他們僅須向ARM公司購買ARM7核的License便可進行生產。目前常用到的ARM7芯片有tmel公司的 AT91M40400、Cirrus Logic公司的CL-PS7500FE/EP7211等、Hyundai公司的GMS30C7201、 Linkup公司的L7200、Samsung公司的KS32C4100/50100等等。另外,TI公司、LSI Logic、NS公司、NEC公司以及Philips公司也生產相應的ARM7芯片。雖然眾多的廠商提供多種瑾的處理器,但是除外部一些功能模塊外,它們的內核是相同的,因而在軟件編程有調試上是相同的。 在多種商用RTOS(實時多任務操作系統)中,Nucleus PLUS實時多任務操作系統是一種帶源代碼的 OS,目前非常流行。在國內也擁有大量的實際應用。Nucleus是最早支持ARM系列CPU的操作系統之一,它提供內核、圖形界而模塊、通訊協議模塊、文件系統以及嵌入式網上瀏覽器等等完整的解決方案。國內許多著名的公司均已選用Nucleus在ARM平臺上實現PDA、STB、DVD、POS、 GPS、手機以及智能終端等。 五、基于ARM7的PDA方案 ARM7系列芯片具有高速、低功耗、集成度高等特點,非常適合用于開發PDA設備。在此介紹一個韓國現代電子提供的以GMS30C7201芯片為核心的PDA方案。 *操作系統:NUCLEUS PLUS; *編譯器:ARM SDT / GREEN HILL; *仿真器:JENNI / TRACE32-ICD。 在這一平臺上,我們選用ATI公司的NUCLEUS操作系統及相應的文件系統、圖形軟件包、網絡模塊和瀏覽器來實現PDA的各種功能。現在已經完成了大部分的軟件移植工作:MUCLEUS內核、文件系統、圖形軟件包、TCP/IP網絡模塊(使用PPP拔號上網)以及各種片上設備的驅動、瀏覽器的移植也即將完成。 |