




已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ARM簡(jiǎn)介及編程 1.ARM簡(jiǎn)介(摘錄)ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類(lèi)多媒體、DSP和移動(dòng)式應(yīng)用等。ARM將其技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和OEM廠商,每個(gè)廠商得到的都是一套獨(dú)一無(wú)二的ARM相關(guān)技術(shù)及服務(wù)。利用這種合伙關(guān)系,ARM很快成為許多全球性RISC標(biāo)準(zhǔn)的締造者。目前,總共有30家半導(dǎo)體公司與ARM簽訂了硬件技術(shù)使用許可協(xié)議,其中包括Intel、IBM、LG半導(dǎo)體、NEC、SONY、菲利浦和國(guó)民半導(dǎo)體這樣的大公司。至于軟件系統(tǒng)的合伙人,則包括微軟、升陽(yáng)和MRI等一系列知名公司。ARM架構(gòu)是面向低預(yù)算市場(chǎng)設(shè)計(jì)的第一款RISC微處理器。2.產(chǎn)品介紹ARM提供一系列內(nèi)核、體系擴(kuò)展、微處理器和系統(tǒng)芯片方案。由于所有產(chǎn)品均采用一個(gè)通用的軟件體系,所以相同的軟件可在所有產(chǎn)品中運(yùn)行(理論上如此)。典型的產(chǎn)品如下。 CPU內(nèi)核 -ARM7:小型、快速、低能耗、集成式RISC內(nèi)核,用于移動(dòng)通信。- ARM7TDMI(Thumb):這是公司授權(quán)用戶最多的一項(xiàng)產(chǎn)品,將ARM7指令集同Thumb擴(kuò)展組合在一起,以減少內(nèi)存容量和系統(tǒng)成本。同時(shí),它還利用嵌入式ICE調(diào)試技術(shù)來(lái)簡(jiǎn)化系統(tǒng)設(shè)計(jì),并用一個(gè)DSP增強(qiáng)擴(kuò)展來(lái)改進(jìn)性能。該產(chǎn)品的典型用途是數(shù)字蜂窩電話和硬盤(pán)驅(qū)動(dòng)器。-ARM9TDMI:采用5階段管道化ARM9內(nèi)核,同時(shí)配備Thumb擴(kuò)展、調(diào)試和Harvard總線。在生產(chǎn)工藝相同的情況下,性能可達(dá)ARM7TDMI的兩倍之多。常用于連網(wǎng)和頂置盒。體系擴(kuò)展- Thumb:以16位系統(tǒng)的成本,提供32位RISC性能,特別注意的是它所需的內(nèi)存容量非常小。嵌入式ICE調(diào)試由于集成了類(lèi)似于ICE的CPU內(nèi)核調(diào)試技術(shù),所以原型設(shè)計(jì)和系統(tǒng)芯片的調(diào)試得到了極大的簡(jiǎn)化。微處理器-ARM710系列,包括ARM710、ARM710T、ARM720T和ARM740T:低價(jià)、低能耗、封裝式常規(guī)系統(tǒng)微型處理器,配有高速緩存(Cache)、內(nèi)存管理、寫(xiě)緩沖和JTAG。廣泛應(yīng)用于手持式計(jì)算、數(shù)據(jù)通信和消費(fèi)類(lèi)多媒體。 -ARM940T、920T系列:低價(jià)、低能耗、高性能系統(tǒng)微處理器,配有Cache、內(nèi)存管理和寫(xiě)緩沖。應(yīng)用于高級(jí)引擎管理、保安系統(tǒng)、頂置盒、便攜計(jì)算機(jī)和高檔打印機(jī)。-StrongARM:性能很高、同時(shí)滿足常規(guī)應(yīng)用需要的一種微處理器技術(shù),與DEC聯(lián)合研制,后來(lái)授權(quán)給Intel。SA110處理器、SA1100 PDA系統(tǒng)芯片和SA1500多媒體處理器芯片均采用了這一技術(shù)。-ARM7500和ARM7500FE:高度集成的單芯片RISC計(jì)算機(jī),基于一個(gè)緩存式ARM7 32位內(nèi)核,擁有內(nèi)存和I/O控制器、3個(gè)DMA通道、片上視頻控制器和調(diào)色板以及立體聲端口;ARM7500FE則增加了一個(gè)浮點(diǎn)運(yùn)算單元以及對(duì)EDO DRAM的支持。特別適合電視頂置盒和網(wǎng)絡(luò)計(jì)算機(jī)(NC)。Windows CE的Pocket PC只支持ARMWindows CE可支持多種嵌入式處理器,但基于Windows CE的Pocket PC則只支持ARM一種。微軟在對(duì)SH3、MIPS、ARM等嵌入式處理器做了評(píng)估后認(rèn)為,ARM是一種性價(jià)比較好的選擇。由于目前ARM在手持設(shè)備市場(chǎng)占有90%以上的份額,只支持ARM,可以有效地縮短應(yīng)用程序開(kāi)發(fā)與測(cè)試的時(shí)間,也降低了研發(fā)費(fèi)用。由于ARM開(kāi)放其處理器授權(quán),因此,用戶在市場(chǎng)上可以在多家整機(jī)廠商中進(jìn)行選擇,從而保證了這一市場(chǎng)的競(jìng)爭(zhēng)性。2. ARM芯片CL-PS7111主要特點(diǎn)BLOCKQUOTEBLOCKQUOTE電平2.7v/3.3v.相對(duì)應(yīng)CPU工作頻率13MHz/18MHz. 13MHz位節(jié)電模式, 性能相當(dāng)于33MHz Inter 486 PCARM710A內(nèi)核ARM7 CPU8K 4向緩存(cache)MMU 帶有64入口TLB(Transition Look-aside Buffer)DRAM控制器支持16位和32位DRAMROM/SRAM/Flash Memory 控制可譯碼4,5或6個(gè)獨(dú)立的256M存儲(chǔ)空間段每個(gè)存儲(chǔ)段支持8位,16位和32位操作,并支持分頁(yè)模式可編程ROM/SRAM/Flash Memory支持兩個(gè)低功耗CL-PS6700 PC卡(PCMCIA)控制器2K 片內(nèi) SRAM用于程序快速執(zhí)行片內(nèi)Boot ROM (128Byte)兩個(gè)同步串行接口支持SPI,或Microwire2兼容音頻解碼器(Audio Codec)27位通用接口GPIO(general-purpose I/O port)3個(gè)8位和1個(gè)3位GPIO port支持鍵盤(pán)陣列掃描(Scanning keyboard matrix)兩個(gè)異步串口 UARTs支持高達(dá)115.2K 波特率內(nèi)有兩個(gè)接收發(fā)送(TX,RX) 16Bytes FIFOs緩沖支持MODEM控制信號(hào)DC-to-DC轉(zhuǎn)換器接口提供兩個(gè)96KHz時(shí)鐘輸出,通過(guò)編程duty ratio(1/16-15/16)操作LCD控制器直接信號(hào)掃描板接口,單色LCD面板的大小可編程從16到1024個(gè)像素,16個(gè)像素為一個(gè)單位視頻幀大小可編程到128K byte每個(gè)像素點(diǎn)的位數(shù)可編程1,2,4位計(jì)時(shí)器和實(shí)時(shí)時(shí)鐘兩個(gè)16位計(jì)時(shí)器(Timer counter)和一個(gè)32位實(shí)時(shí)時(shí)鐘(RTC)/BLOCKQUOTE/BLOCKQUOTE3. 調(diào)試工具及調(diào)試方法BLOCKQUOTEARM Project Manager (APM) include ARM Debuger: 這個(gè)工具由ARM提供主要是開(kāi)發(fā)程序, 編程調(diào)試ARM芯片, 有相當(dāng)不錯(cuò)的開(kāi)發(fā)環(huán)境和遠(yuǎn)端調(diào)試功能, 支持匯編和C. 它帶有一個(gè)ARM自己的嵌入式操作系統(tǒng)ARM Angel, 用戶可以在它的上面開(kāi)發(fā)自己的嵌入式軟件, 不過(guò)這個(gè)操作系統(tǒng)不是實(shí)時(shí)多任務(wù)的./BLOCKQUOTEBLOCKQUOTE通過(guò)計(jì)算機(jī)串口與處理器UART相連,設(shè)置計(jì)算機(jī)的超級(jí)終端 ( Hyper Terminal ), 通過(guò)超級(jí)終端察看硬件情況(寄存器設(shè)置,數(shù)據(jù)等)和程序運(yùn)行情況,當(dāng)然程序重要加入向UART送出數(shù)據(jù)的指令, 用Beep報(bào)警也是經(jīng)常用的. 這種調(diào)試方法是用于底層調(diào)試硬件,找出硬件存在的問(wèn)題.VxWorks 在Shell 不能正常運(yùn)行前,也是采取這種方法來(lái)調(diào)試程序,不過(guò)一般不是硬件問(wèn)題,而是BSP中存在的問(wèn)題,需要根據(jù)硬件,修改BSP./BLOCKQUOTE4. ARM7 編程要點(diǎn)及示例ARM編程可參考程序示例 ARM_Boot Flash ROM驅(qū)動(dòng)VxWorks image 裝入ARM的過(guò)程:BLOCKQUOTEARM7 有兩種運(yùn)行模式, Boot 模式和 Normal 模式, Boot模式主要是把程序裝入(down load 或load )Flash ROM中用的, Normal模式是一般運(yùn)行程序用的.ARM7 Boot 模式時(shí), Flash 的地址是0x70000000片選型號(hào)是CS0 (Normal模式下,Flash地址為0x00000000)ARM7內(nèi)部有128byte的BootROM和2K的SRAM,當(dāng)需要Download VxWorks image時(shí),ARM啟動(dòng)采用Boot方式啟動(dòng)運(yùn)行存在128byte BootROM中的程序初始化ARM內(nèi)部的COM口,從COM口接受數(shù)據(jù)到2K的SRAM,這2K程序是用來(lái)真正Load VxWorks的,2K程序Load完畢后系統(tǒng)自動(dòng)跳轉(zhuǎn)到這2K程序執(zhí)行,它的作用是再次初始化內(nèi)部的COM口,通過(guò)COM口接受VxWorks到DRAM,然后由DRAM寫(xiě)入FLASH。在主板2K SRAM運(yùn)行的Boot Load程序執(zhí)行過(guò)程,可參看程序示例中ARM Boot Load程序?qū)懭胪戤吅螅袚Q到Normal模式重新啟動(dòng)系統(tǒng),系統(tǒng)自動(dòng)跳到FLASH 0X00000000開(kāi)始運(yùn)行VXWORKS。用PC機(jī)上的COM1與ARM內(nèi)部的UART1(COM)通信來(lái)Download VxWorks。/BLOCKQUOTE主要管腳定義BLOCKQUOTE32條數(shù)據(jù)線: D0-D3128條地址線: A0-A27 little endian 定義, 相對(duì)應(yīng)數(shù)據(jù)排列 0 1 2 3 4 5 6-276條片選信號(hào)腳: CS0-CS5, 其實(shí)作用相當(dāng)于地址線 A28-A314個(gè)8位的PORT口: PORT A, PORT B , PORT D主要用于外圍芯片信號(hào)的控制. PORT E有雙作用.例如 PORT A 控制鍵盤(pán)的行信號(hào), PORT B 用于RS232, PORT D 用于控制MODEM, FPGA.外部中斷信號(hào)EINT, EXTFIQ.編程時(shí)要根據(jù)主板原理圖和硬件手冊(cè)進(jìn)行. BLOCKQUOTE看硬件圖紙, 該芯片和CPU的那些管腳連結(jié). 特別是 PORT 口和片選線.查CPU手冊(cè), 得到PORT 口和該片選的硬件地址.編程: 用PORT口直接對(duì)芯片操作,如開(kāi),關(guān),RESET等, 用片選地址和芯片內(nèi)地址結(jié)合對(duì)該外圍芯片操作./BLOCKQUOTE/BLOCKQUOTEException vectors, 中斷向量表及中斷分配Vector 地址 BLOCKQUOTEException/BLOCKQUOTE Exception Mode Priority(1=High)0x0 BLOCKQUOTEReset/BLOCKQUOTE Svc 10x4 BLOCKQUOTEUndefined Instruction/BLOCKQUOTE Undef 60x8 BLOCKQUOTESoftware Interrupt/BLOCKQUOTE Svc 60xC BLOCKQUOTEPrefetch Abort/BLOCKQUOTE Abort 50x10 BLOCKQUOTEData Abort/BLOCKQUOTE Abort 20x14 BLOCKQUOTEReserved/BLOCKQUOTE Not applicable Not applicable0x18 BLOCKQUOTEInterrupt (IRQ)/BLOCKQUOTE irq 40x1C BLOCKQUOTEFast Interrupt (FIQ)/BLOCKQUOTE Fiq 3BLOCKQUOTE/BLOCKQUOTEBLOCKQUOTE這個(gè)向量表必須要放置在系統(tǒng)地址0x00000000 (一般是邏輯地址, 即經(jīng)過(guò)MMU映射后的地址)處./BLOCKQUOTEBLOCKQUOTE一般是在這些地址上放跳轉(zhuǎn)指令 BL, 跳到相應(yīng)的地址空間執(zhí)行相應(yīng)的程序./BLOCKQUOTEBLOCKQUOTE如系統(tǒng)執(zhí)行從0x00000000 Reset開(kāi)始, Reset 跳轉(zhuǎn)到某一地址開(kāi)始運(yùn)行操作系統(tǒng)./BLOCKQUOTEBLOCKQUOTE/BLOCKQUOTEBLOCKQUOTE程序示例,中斷向量表 (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 - Instruction 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/BLOCKQUOTE中斷號(hào)分配 (FIQ, IRQ)中斷類(lèi)型 中斷號(hào)Name說(shuō)明FIQ 0 外部中斷 EXTFIQ 管腳 NEXT FIQ IRQ 5 外部中斷 EINT1 管腳 NEINT1IRQ 6 外部中斷 EINT2 管腳 NEINT2IRQ 7 外部中斷 EINT3 管腳 NEINT3 IRQ 12 內(nèi)部中斷 UTXINT1 UART1 TX FIFO 為空 BLOCKQUOTE/BLOCKQUOTEBLOCKQUOTE中斷號(hào)也是寄存器INTMR和INTSR的位,所以在ARM中中斷的編程要點(diǎn)是/BLOCKQUOTEBLOCKQUOTE看硬件圖紙, 該外設(shè)和CPU的那一個(gè)管腳連結(jié).查CPU手冊(cè), 得到中斷號(hào)及INTMR,INTSR的地址.編程/BLOCKQUOTEBLOCKQUOTE注: 如果不是寫(xiě)底層driver, 只是在系統(tǒng)上層編程(如VxWorks, Linux) 知道中斷號(hào)即可./BLOCKQUOTEBLOCKQUOTE程序示例(VxWorks): /BLOCKQUOTEBLOCKQUOTE/登記中斷號(hào) 5, 和相應(yīng)的中斷例程 ComISR./BLOCKQUOTEBLOCKQUOTEintConnect ( ( VOIDFUNCPTR * ) 5, ComISR, 0 ) ; /BLOCKQUOTEBLOCKQUOTE/使能這中斷/BLOCKQUOTEBLOCKQUOTEintEnable ( ( VOIDFUNCPTR * ) 5 );/BLOCKQUOTEBLOCKQUOTE/BLOCKQUOTEBLOCKQUOTEARM Interrupts: ARM processors implement fast and normal level of interrupt,signalled externally, synchronise interrupts before an exception is raised. A fast interrupt requst (FIQ) will desable subsequent normal and fast interrupt by setting the I and F bit in CPSR,and a normal interrup request(IRQ) will disable subsequent normal interrupt by setting I bit in CPSR.計(jì)時(shí)器中斷編程過(guò)程BLOCKQUOTEARM7一般內(nèi)部有兩個(gè)16位計(jì)時(shí)器(Timer counter)和一個(gè)32位實(shí)時(shí)時(shí)鐘(RTC),計(jì)時(shí)器中斷屬于IRQ中斷,這里以計(jì)時(shí)器1為例敘述一下中斷的編程過(guò)程設(shè)置interrup mask INTMR1寄存器 0x80000240 第8位TC1OI計(jì)時(shí)器1為使能. 在0x800000300 計(jì)時(shí)器 1 的數(shù)據(jù)寄存器TC1D寫(xiě)入指定數(shù)據(jù),這樣數(shù)據(jù)開(kāi)始從這個(gè)給定的數(shù)開(kāi)始遞減計(jì)數(shù),計(jì)數(shù)遞減至 0 后,會(huì)產(chǎn)生一個(gè)溢出underflow IRQ中斷請(qǐng)求,中斷狀態(tài)寄存器INTSR1 0x80000240 第8位TC1OI置位.系統(tǒng)會(huì)跳到中斷向量表地址 0x00000018 處,執(zhí)行相應(yīng)的中斷程序,中斷程序通過(guò)判斷中斷的類(lèi)型(判斷中斷狀態(tài)寄存器的位),來(lái)執(zhí)行相應(yīng)的中斷服務(wù)程序ISR. 中斷狀態(tài)寄存器標(biāo)志位復(fù)位,計(jì)時(shí)器開(kāi)始重新開(kāi)始計(jì)時(shí)./BLOCKQUOTE/BLOCKQUOTE存儲(chǔ)空間管理單元(MMU)物理地址映射重點(diǎn)在于片選地址CS的選取,另外MMU映射需要參考這個(gè)物理地址BLOCKQUOTE/BLOCKQUOTEBLOCKQUOTEARM7 物理地址映射表/BLOCKQUOTE地址內(nèi)容大小備注0xF000.0000 Unused 256Mbytes0xE000.0000 Unused 256Mbytes0xD000.0000 DRAM Bank 1 256Mbytes0xC000.0000 DRAM Bank 0 256Mbytes 外接DRAM0x8000.2000 Unused -1Gbytes0x8000.0000 內(nèi)部寄存器地址 8Kbytes 主要的I/O和控制0x7000.0000 Boot ROM 128 bytes 片內(nèi),封有Boot程序0x6000.0000 On-chip SRAM 2 Kbytes 片內(nèi),存放Load程序0x5000.0000 PCMCIA-1(NCS5) 4*64 Mbytes0x4000.0000 PCMCIA-0(NCS4) 4*64 Mbytes0x3000.0000 外部擴(kuò)展(NCS3) 256Mbytes0x2000.0000 外部擴(kuò)展(NCS2) 256Mbytes0x1000.0000 ROM Bank 1(NCS1) 256Mbytes0x0000.0000 ROM Bank 0(NCS0) 256Mbytes 外接Flash ROMMMU 虛擬(邏輯)地址和物理地址的映射實(shí)例BLOCKQUOTEVxworks支持的ARM架構(gòu)的處理器,一般是RAM的起始位置
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 實(shí)驗(yàn)室安全教育心得體會(huì)
- 2024年水利水電工程考試難點(diǎn)解析與試題及答案
- 2025屆平輿縣數(shù)學(xué)三年級(jí)第一學(xué)期期末監(jiān)測(cè)試題含解析
- 小學(xué)一年級(jí)成長(zhǎng)教育故事案例
- 水利水電工程現(xiàn)場(chǎng)勘察試題及答案
- 提升城市建設(shè)項(xiàng)目的試題及答案
- 綠色農(nóng)業(yè)生態(tài)農(nóng)場(chǎng)種植技術(shù)合作協(xié)議
- 農(nóng)民農(nóng)技培訓(xùn)服務(wù)協(xié)議
- 中級(jí)經(jīng)濟(jì)師考試的相關(guān)政策與法規(guī)試題及答案
- 信息技術(shù)網(wǎng)絡(luò)安全知識(shí)測(cè)試卷
- MOOC 能源與氣候變化應(yīng)對(duì)法-西南政法大學(xué) 中國(guó)大學(xué)慕課答案
- MOOC 國(guó)情分析與商業(yè)設(shè)計(jì)-暨南大學(xué) 中國(guó)大學(xué)慕課答案
- 工廠生產(chǎn)經(jīng)營(yíng)管理方案
- 2023年浙江省寧波市中考語(yǔ)文試卷
- 《光伏發(fā)電工程工程量清單計(jì)價(jià)規(guī)范》
- “新課標(biāo)”下教學(xué)評(píng)一體化的英語(yǔ)單元整體教學(xué)設(shè)計(jì)
- 水電站水工基礎(chǔ)知識(shí)課件
- 大學(xué)生勞動(dòng)教育課件:樹(shù)立新時(shí)代的勞動(dòng)觀
- 營(yíng)養(yǎng)篩查及營(yíng)養(yǎng)實(shí)施流程圖課件
- 有機(jī)化學(xué)課后習(xí)題答案-李艷梅版
- 國(guó)企控股公司所屬公司經(jīng)理層成員任期制和契約化管理辦法(試行)
評(píng)論
0/150
提交評(píng)論