




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、獻給ARM初學者ARM簡介與編程1. ARM簡介(摘錄)ARM(Advanced RISC M achines )是微處理器行業(yè)的一家知名企業(yè),設計了 大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件。技術具有性能高、 成本低和能耗省的特點。 適用于多種領域, 比如嵌入控制、 消費/ 教育類多媒體、 DSP和移動式應用等。ARM將其技術授權給世界上許多著名的半導體、軟件和 OEM廠商,每個廠商 得到的都是一套獨一無二的ARM相關技術及服務。利用這種合伙關系,ARM艮快 成為許多全球性RISC標準的締造者。目前,總共有30家半導體公司與ARM簽訂了硬件技術使用許可協(xié)議,其中 包括In t
2、el、IBM、LG半導體、NEC SO NY菲利浦和國民半導體這樣的大公司。 至于軟件系統(tǒng)的合伙人,則包括微軟、升陽和 MRI等一系列知名公司。AR喋構是面向低預算市場設計的第一款 RISC微處理器。2. 產品介紹arMI供一系列內核、體系擴展、微處理器和系統(tǒng)芯片方案。由于所有產品 均采用一個通用的軟件體系,所以相同的軟件可在所有產品中運行(理論上如 此)。典型的產品如下。 CPU內核-ARM7 :小型、快速、低能耗、集成式 RISC內核,用于移動通信。-ARM7TDMI(Thumb):這是公司授權用戶最多的一項產品, 將ARM7旨令集同 Thumb擴展組合在一起,以減少內存容量和系統(tǒng)成本。同
3、時,它還利用嵌入式ICE調試技術來簡化系統(tǒng)設計,并用一個 DSP增強擴展來改進性能。該產品的典 型用途是數字蜂窩電話和硬盤驅動器。-ARM9TDMI采用5階段管道化ARM吶核,同時配備Thumb擴展、調試和H arvard總線。在生產工藝相同的情況下,性能可達 ARM7TDM勺兩倍之多。常用 于連網和頂置盒。 體系擴展-Thumb:以16位系統(tǒng)的成本,提供32位RISC性能,特別注意的是它所需 的內存容量非常小。 嵌入式 ICE 調試由于集成了類似于ICE的CPU內核調試技術,所以原型設計和系統(tǒng)芯片的調 試得到了極大的簡化。 微處理器-ARM710系列,包括 ARM710ARM710TARM7
4、20和 ARM740TK價、低能耗、 封裝式常規(guī)系統(tǒng)微型處理器,配有高速緩存(Cache)、內存管理、寫緩沖和JT AG廣泛應用于手持式計算、數據通信和消費類多媒體。-ARM940T、920T系列:低價、低能耗、高性能系統(tǒng)微處理器,配有 Cache 內存管理和寫緩沖。應用于高級引擎管理、保安系統(tǒng)、頂置盒、便攜計算機和高檔打印機。-StrongARM: 性能很高、同時滿足常規(guī)應用需要的一種微處理器技術,與DEC聯(lián)合研制,后來授權給In tel 。SA110處理器、SA1100 PDA系統(tǒng)芯片和SA150 0 多媒體處理器芯片均采用了這一技術。-ARM7500和ARM7500FES度集成的單芯片R
5、ISC計算機,基于一個緩存式 ARM7 32位內核,擁有內存和I/O控制器、3個DMA通道、片上視頻控制器和調 色板以及立體聲端口 ;ARM7500FEW增加了一個浮點運算單元以及對 EDO DRAM 支持。特別適合電視頂置盒和網絡計算機( NC)。Windows CE的Pocket PC只支持ARMWindows C可支持多種嵌入式處理器,但 基于 Windows CE的Pocket PC則只支持 ARMH種。微軟在對 SH3 MIPS ARM 等嵌入式處理器做了評估后認為,ARM是 一種性價比較好的選擇。由于目前 ARM 在手持設備市場占有90%以上的份額,只支持ARM可以有效地縮短應用程
6、序開 發(fā)與測試的時間,也降低了研發(fā)費用。由于 ARh開放其處理器授權,因此,用戶 在市場上可以在多家整機廠商中進行選擇,從而保證了這一市場的競爭性。2. ARM芯片CL-PS7111主要特點電平2.7v/3.3v.相對應CPU工作頻率13MHZ/18MHz. 13MH拉節(jié)電模式,性能相 當于 33MHz Inter 486 PCARM710內 核ARM7 CPU8K 4 向緩存 (cache)MMU帶有 64 入口 TLB(Transition Look-aside Buffer)DRAMI制器支持 16 位和 32 位 DRAMROM/SRAM/Flash Memory空制可譯碼4,5或6個
7、獨立的256M存儲空間段每個存儲段支持 8位,16位和 32位操作,并支持分頁模式可編程 ROM/SRAM/Flash Memory支持兩個低功耗CL-PS6700 PC卡(PCMCIA控制器2K片內SRAM用于程序快速執(zhí)行片內 Boot ROM (128Byte)兩個同步串行接口支持 SPI, 或 Microwire2 兼容 音頻解碼器 (Audio Codec)27 位通用接口 GPIO(general-purpose I/O port) 3個 8位和 1個 3位 GPIO port 支持鍵盤陣列掃描 (Scanning keyboard matrix) 兩個異步串口 UARTs支持高達
8、115.2K 波特率 內有兩個接收發(fā)送 (TX,RX) 16Bytes FIFOs 緩沖 支持MODE控制信號DC-to-DC轉換器接口提供兩個96KHz時鐘輸出,通過編程duty ratio(1/16-15/16) 操作 LCD控制器直接信號掃描板接口 , 單色 LCD面板的大小可編程從 16到1024個像素,16個像素為一個單位視頻幀大小可編程到 128K byte每個像素點的位數可編程 1,2,4 位計時器和實時時鐘兩個 16 位計時器 (Timer counter) 和一個 32 位實時時鐘 (RTC)3. 調試工具及調試方法ARM Project Ma nager (APM) in
9、elude ARM Debuger: 這個工具由 ARM提供主要 是開發(fā)程序,編程調試ARMS片,有相當不錯的開發(fā)環(huán)境和遠端調試功能,支 持匯編和C.它帶有一個ARM!己的嵌入式操作系統(tǒng) ARM An gel,用戶可以在它 的上面開發(fā)自己的嵌入式軟件 , 不過這個操作系統(tǒng)不是實時多任務的 .通過計算機串口與處理器 UART相連,設置計算機的超級終端(Hyper Terminal ), 通過超級終端察看硬件情況 (寄存器設置,數據等)和程序運行情況 ,當然程 序重要加入向UART送出數據的指令,用Beep報警也是經常用的.這種調試方法 是用于底層調試硬件 , 找出硬件存在的問題 .VxWorks
10、 在 Shell 不能正常運行前 , 也是采取這種方法來調試程序 , 不過一般不 是硬件問題,而是BSP中存在的問題,需要根據硬件,修改BSP.需要說明的是: 上述方法是在沒有硬件仿真器的情況下采用的, 仿真器是底層調 試硬件程序最好,最簡便直觀的辦法。4. ARM7 編程要點及示例ARM&程可參考程序示例 ARM_Boot Flash ROM驅動VxWorks image 裝入 ARM勺過程:ARM7有兩種運行模式,Boot模式和Normal模式,Boot模式主要是把程序裝 入(down load 或load )Flash ROM 中用的,Normal模式是一般運行程序用的ARM7 Boot
11、模式時,F(xiàn)lash 的地址是0x70000000片選型號是CS0 (Normal模式 下,Flash 地址為 0x00000000)ARM7內部有 128byte 的 BootROM和 2K的 SRAM 當需要 Download VxWorks imag e時,ARM啟動采用Boot方式啟動運行存在128byte BootROM中的程序初始化ARM內部的COM口,從COM口接受數據到2K的SRAM這2K程序是用來真正LoadVxWorks的,2K程序Load完畢后系統(tǒng)自動跳轉到這2K程序執(zhí)行,它的作用是再 次初始化內部的COM口 ,通過COMq接受VxWorks到DRAM然后由DRAM!入FL
12、ASH在主板2K SRAM!行的Boot Load程序執(zhí)行過程,可參看程序示例中ARM B oot Load 程序寫入完畢后,切換到 Normal 模式重新啟動系統(tǒng),系統(tǒng)自動跳到 FLASH 0X000000 00 開始運行 VXWORKS用 PC機上的 COM與 ARM內部的 UART1(COM 通信來 Download VxWorks。主要管腳定義32 條數據線 : D0D3128 條地址線 : A0A27 little endian定義 , 相對應數據排列 0 1 2 34 5 6276條片選信號腳 : CS0CS5, 其實作用相當于地址線 A28A314個8位的POR口 : PORT
13、A, PORT B , PORT D主要用于外圍芯片信號的控制. PORT E有雙作用.例如 PORT A 控制鍵盤的行信號 , PORT B 用于 RS232, PORT D 用于控制 MODEM, FPGA.外部中斷信號 EINT, EXTFIQ.編程時要根據主板原理圖和硬件手冊進行 .看硬件圖紙,該芯片和CPU的那些管腳連結.特別是PORT 口和片選線.查CPU手冊,得到PORT口和該片選的硬件地址.編程:用PORT口直接對芯片操作,如開,關,RESET等,用片選地址和芯片內地址 結合對該外圍芯片操作 .Exception vectors, 中斷向量表及中斷分配Vector 地址 Exc
14、eptionException Mode Priority(1=High)0x0 ResetSvc 10x4 Undefined InstructionUndef 60x8 Software InterruptSvc 60xC Prefetch AbortAbort 5 0x10 Data AbortAbort 20x14 ReservedNot applicable Not applicable0x18 Interrupt (IRQ)irq 40x1C Fast Interrupt (FIQ)Fiq 3這個向量表必須要放置在系統(tǒng)地址 0x00000000 ( 一般是邏輯地址 , 即經過 MM
15、U 映射后的地址 ) 處.一般是在這些地址上放跳轉指令 BL, 跳到相應的地址空間執(zhí)行相應的程序 .如系統(tǒng)執(zhí)行從 0x00000000 Reset 開始, Reset 跳轉到某一地址開始運行操作系 統(tǒng).程序示例 , 中斷向量表 (ARM asm):_VectorStart ; Start of ARM processor vectorsLDR pc,ResetV ; 00 - ResetLDR pc,UndefV ; 04 - Undefined instructionsLDR pc,SWIV ; 08 - SWI instructionsLDR pc,PAbortV ; 0C - Instr
16、uction fetch abortsLDR pc,DAbortV ; 10 - Data access abortsLDR pc,UnusedV ; 14 - Reserved (was address exception)LDR pc,IRQV ; 18 - IRQ interruptsLDR pc,FIQV ; 1C - FIQ interrupts中斷號分配 (FIQ, IRQ) 中斷類型 中斷號 Name 說明FIQ 0 外部中斷 EXTFIQ 管腳 NEXT FIQIRQ 5 外部中斷 EINT1 管腳 NEINT1IRQ 6 外部中斷 EINT2 管腳 NEINT2IRQ 7 外
17、部中斷 EINT3 管腳 NEINT3IRQ 12 內部中斷 UTXINT1 UART1 TX FIFO 為空中斷號也是寄存器INTMR和INTSR的位,所以在ARM中中斷的編程要點是 看硬件圖紙,該外設和CPU勺那一個管腳連結.查CPU手冊,得到中斷號及INTMR,INTSR的地址.編程 注: 如果不是寫底層 driver, 只是在系統(tǒng)上層編程 (如 VxWorks, Linux) 知道 中斷號即可 .程序示例 (VxWorks):/ 登記中斷號 5, 和相應的中斷例程 ComISR.intConnect ( ( VOIDFUNCPTR * ) 5, ComISR, 0 ) ;/ 使能這中斷
18、intEnable ( ( VOIDFUNCPTR * ) 5 );ARM Interrupts: ARM processors implement fast and normal level of int errupt,signalled externally, synchronise interrupts before an excepti on is raised. A fast interrupt requst (FIQ) will desable subsequent n ormal and fast interrupt by setting the I and F bit in C
19、PSR,and a nor mal interrup request(IRQ) will disable subsequent normal interrupt by setting I bit in CPSR.計時器中斷編程過程ARM一般內部有兩個16位計時器(Timer counter) 和一個32位實時時鐘(RTC), 計時器中斷屬于IRQ中斷,這里以計時器1為例敘述一下中斷的編程過程 設置interrup mask INTMR1 寄存器0x80000240第8位TC1OI計時器1為使能.在0x800000300計時器1的數據寄存器TC1D寫入指定數據,這樣數據開始從 這個給定的數開始遞
20、減計數 , 計數遞減至 0 后, 會產生一個溢出 underflow IRQ 中斷請求,中斷狀態(tài)寄存器INTSR1 0x80000240第8位TC1OI置位.系統(tǒng)會跳到 中斷向量表地址 0x00000018 處, 執(zhí)行相應的中斷程序 , 中斷程序通過判斷中斷 的類型(判斷中斷狀態(tài)寄存器的位 ), 來執(zhí)行相應的中斷服務程序 ISR. 中斷狀態(tài) 寄存器標志位復位 , 計時器開始重新開始計時 .存儲空間管理單元 (MMU) 物理地址映射 重點在于片選地址CS的選取,另外MMI映射需要參考這個物理地址ARM7物理地址映射表地址 內容大小備注0xF000.0000 Unused 256Mbytes0xE
21、000.0000 Unused 256Mbytes0xD000.0000 DRAM Bank 1 256Mbytes0xC000.0000 DRAM Bank 0 256Mbytes 外接 DRAM0x8000.2000 Unused -1Gbytes0x8000.0000 內部寄存器地址 8Kbytes 主要的 I/O 和控制0x7000.0000 Boot ROM 128 bytes 片內,封有 Boot 程序0x6000.0000 On-chip SRAM 2 Kbytes 片內,存放 Load 程序0x5000.0000 PCMCIA-1(NCS5) 4*64 Mbytes0x4000.0000 PCMCIA-0(NCS4) 4*64 Mbytes0x3000.0000 外部擴展 (NCS3) 256Mbytes0x2000.0000 外部擴展 (NCS2) 256Mbytes0x1000.0000 ROM Bank 1(NCS1) 256Mbytes0x0000.0000 ROM Bank 0(NCS0) 256Mbytes 外接 Flash ROMMMU虛擬(邏輯)地址和物理地址的映射實例Vxw
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 筆譯服務合同(翻譯中心)-服務合同7篇
- 2025年龍巖貨運資格證考試真題
- 學校燈光改造工程合同
- 勞務派遣合同模本
- 工程分包合同總公司與分公司
- 英語基礎題試卷小學
- 小學課外英語試卷
- 配電控制設備市場分析及競爭策略分析報告
- 簡單的競標合同范本
- 分包木工材料合同范本
- 《招標投標法》考試題庫200題(含答案)
- 【課件】高等學校科學技術學術規(guī)范指南 (宣講稿)
- 中建建筑電氣工程施工方案
- 復變函數論 鐘玉泉 第四版 課后習題答案詳解解析
- 《輕鋼建筑》課件
- 尿源性膿毒血癥護理
- 2024解析:第十一章 功和機械能-講核心(解析版)
- 【MOOC】數據庫系統(tǒng)(下):管理與技術-哈爾濱工業(yè)大學 中國大學慕課MOOC答案
- 日本留學中介簽約合同
- 鐵路安全應急預案
- 《城市軌道交通車輛構造》 課件 2.2 不銹鋼車體結構認知
評論
0/150
提交評論