嵌入式ARM微處理器概述和編程模型_第1頁(yè)
嵌入式ARM微處理器概述和編程模型_第2頁(yè)
嵌入式ARM微處理器概述和編程模型_第3頁(yè)
嵌入式ARM微處理器概述和編程模型_第4頁(yè)
嵌入式ARM微處理器概述和編程模型_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、嵌入式ARM微處理器概述和編程 模型 第二章 基于ARM9處理器的硬件開發(fā)平臺(tái) n2.1 ARM微處理器概述 n2.2 ARM微處理器的編程模型 n2.3 ARM微處理器的指令系統(tǒng) n2.4 ARM程序設(shè)計(jì)基礎(chǔ) n2.5 S3C2410體系結(jié)構(gòu)與外設(shè) n2.6 ADS調(diào)試軟件 嵌入式ARM微處理器概述和編程 模型 2.1 ARM微處理器概述 n2.1.1 ARM簡(jiǎn)介 n2.1.2 ARM微處理器的應(yīng)用領(lǐng)域 n2.1.3 ARM微處理器的特點(diǎn) n2.1.4 ARM微處理器系列 n2.1.5 ARM微處理器的結(jié)構(gòu) n2.1.6 ARM微處理器的應(yīng)用選型 嵌入式ARM微處理器概述和編程 模型 ARM

2、(Advanced RISC Machines),既可以認(rèn)為 是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類微處理器的 通稱,還可以認(rèn)為是一種技術(shù)的名字。 1991年ARM公司成立于英國(guó)劍橋,主要出售芯片 設(shè)計(jì)技術(shù)的授權(quán)。基于ARM技術(shù)的微處理器應(yīng)用約占 據(jù)了32位RISC微處理器75以上的市場(chǎng)份額,ARM技 術(shù)正在逐步滲入到我們生活的各個(gè)方面。 2.1.1 ARMAdvanced RISC Machines 嵌入式ARM微處理器概述和編程 模型 世界各大半導(dǎo)體生產(chǎn)商從ARM公司購(gòu)買其設(shè)計(jì)的 ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適 當(dāng)?shù)耐鈬娐罚瑥亩纬勺约旱腁RM微處理器芯片進(jìn) 入市場(chǎng)。 2

3、.1.1 ARMAdvanced RISC Machines 嵌入式ARM微處理器概述和編程 模型 2.1.2 ARM 微處理器的應(yīng)用領(lǐng)域 n工業(yè)控制 n無線通訊 n網(wǎng)絡(luò)應(yīng)用 n消費(fèi)類電子產(chǎn)品 n成像和安全產(chǎn)品 嵌入式ARM微處理器概述和編程 模型 2.1.3 ARM 微處理器的特點(diǎn) n體積小、低功耗、低成本、高性能 n支持Thumb/ARM雙指令集 n大量使用寄存器,指令執(zhí)行速度快 n尋址方式靈活簡(jiǎn)單,執(zhí)行效率高 n指令長(zhǎng)度固定 嵌入式ARM微處理器概述和編程 模型 2.1.4 ARM微處理器系列 nARM7系列 nARM9系列 nARM9E系列 nARM10E系列 nARM11系列 nSe

4、curcore系列 nIntel的StrongARM/Xscale 嵌入式ARM微處理器概述和編程 模型 ARM7 微處理器系列 具有嵌入式ICE邏輯,調(diào)試開發(fā)方便 極低的功耗,適合便攜式產(chǎn)品 能夠提供的三級(jí)流水線結(jié)構(gòu) 代碼密度高并兼容16位的Thumb指令集 對(duì)操作系統(tǒng)的支持廣泛,包括Windows CE、Linux、 Palm OS等 指令系統(tǒng)與ARM9、ARM9E和ARM10E兼容 主頻最高可達(dá)130MIPS 嵌入式ARM微處理器概述和編程 模型 ARM7 微處理器系列 主要應(yīng)用領(lǐng)域 工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移 動(dòng)電話等多種多媒體和嵌入式應(yīng)用 微處理器核類型

5、 ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ 嵌入式ARM微處理器概述和編程 模型 ARM7 微處理器系列 ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處 理器,屬低端ARM處理器核。TDMI的基本含義為: T 支持16為壓縮指令集Thumb; D 支持片上Debug; M 內(nèi)嵌硬件乘法器(Multiplier); I 嵌入式ICE,支持片上斷點(diǎn)和調(diào)試點(diǎn) 嵌入式ARM微處理器概述和編程 模型 ARM9 微處理器系列 5級(jí)整數(shù)流水線,指令執(zhí)行效率更高。 提供的哈佛結(jié)構(gòu)。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA總線接口。 全性

6、能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。 MPU支持實(shí)時(shí)操作系統(tǒng)。 支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù) 據(jù)處理能力。 嵌入式ARM微處理器概述和編程 模型 ARM9 微處理器系列 主要應(yīng)用領(lǐng)域 無線設(shè)備、儀器儀表、安全系統(tǒng)、機(jī)頂盒、高 端打印機(jī)、數(shù)碼相機(jī)和數(shù)碼攝像機(jī)等 微處理器核類型 ARM920T、ARM922T和ARM940T 嵌入式ARM微處理器概述和編程 模型 2.1.5 ARM 微處理器的結(jié)構(gòu) CISC(Complex Instruction Set Computer) 復(fù)雜指令集計(jì)算機(jī) 隨著計(jì)算機(jī)技術(shù)的發(fā)展而不斷

7、引入新的復(fù)雜的 指令集,計(jì)算機(jī)的體系結(jié)構(gòu)會(huì)越來越復(fù)雜。 大約有20的指令會(huì)被反復(fù)使用,占整個(gè)程序 代碼的80,而余下的80的指令卻不經(jīng)常使用, 在程序設(shè)計(jì)中只占20 。 嵌入式ARM微處理器概述和編程 模型 2.1.5 ARM 微處理器的結(jié)構(gòu) RISC(Reduced Instruction Set Computer) 精簡(jiǎn)指令集計(jì)算機(jī) 采用固定長(zhǎng)度的指令格式 使用單周期指令 大量使用寄存器 可用加載/存儲(chǔ)指令批量傳輸數(shù)據(jù) 在循環(huán)處理中使用地址的自動(dòng)增減 嵌入式ARM微處理器概述和編程 模型 2.1.6 ARM 微處理器的應(yīng)用選型 n ARM微處理器內(nèi)核 n 系統(tǒng)的工作頻率 n 芯片內(nèi)存儲(chǔ)器的

8、容量 n 片內(nèi)外圍電路的選擇 嵌入式ARM微處理器概述和編程 模型 2.2 ARM微處理器的編程模型 n2.2.1 ARM微處理器的工作狀態(tài) n2.2.2 ARM微處理器的存儲(chǔ)器格式 n2.2.3 指令長(zhǎng)度及數(shù)據(jù)類型 n2.2.4 處理器模式 n2.2.5 寄存器組織 n2.2.6 異常 嵌入式ARM微處理器概述和編程 模型 2.2 ARM微處理器的編程模型 字(Word) 在ARM體系結(jié)構(gòu)中,字的長(zhǎng)度為32位。 半字(Half-Word) 在ARM體系結(jié)構(gòu)中,半字的長(zhǎng)度為16位。 字節(jié)(Byte) 在ARM體系結(jié)構(gòu)中,字節(jié)的長(zhǎng)度為8位。 嵌入式ARM微處理器概述和編程 模型 2.2.1 AR

9、M微處理器的工作狀態(tài) ARM狀態(tài) 處理器執(zhí)行32位的字對(duì)齊的ARM指令 Thumb狀態(tài) 處理器執(zhí)行16位的、半字對(duì)齊的Thumb指令 嵌入式ARM微處理器概述和編程 模型 進(jìn)入Thumb狀態(tài) q 執(zhí)行BX指令,使操作數(shù)寄存器的狀態(tài)位為1 q 當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常,則異常處理返回 時(shí),自動(dòng)切換到Thumb狀態(tài)。 嵌入式ARM微處理器概述和編程 模型 進(jìn)入ARM狀態(tài) q 執(zhí)行BX指令,使操作數(shù)寄存器的狀態(tài)位為0 q 在處理器進(jìn)行異常處理時(shí),把PC放入異常模式鏈接寄 存器中,并從異常向量地址開始執(zhí)行程序 嵌入式ARM微處理器概述和編程 模型 2.2.2 ARM微處理器的存儲(chǔ)器格式 q

10、 ARM體系結(jié)構(gòu)所支持的最大尋址空間為4GB(232字節(jié)) q ARM體系結(jié)構(gòu)將存儲(chǔ)器看作是從零地址開始的字節(jié)的線 性組合。從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù), 從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù), 依次排列。 q ARM體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù),稱之為大端 格式和小端格式 嵌入式ARM微處理器概述和編程 模型 大端格式 字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址,低字節(jié)存放在高地址 嵌入式ARM微處理器概述和編程 模型 小端格式 字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在高地址,低字節(jié)存放在低地址 嵌入式ARM微處理器概述和編程 模型 q ARM微處理器的指令長(zhǎng)度可以是32位(在ARM狀態(tài)下), 也可以為

11、16位(在Thumb狀態(tài)下)。 q ARM微處理器中支持字節(jié)(8位)、半字(16位)、字 (32位)三種數(shù)據(jù)類型,其中,字需要4字節(jié)對(duì)齊(地 址的低兩位為0)、半字需要2字節(jié)對(duì)齊(地址的最低 位為0) 2.2.3 指令長(zhǎng)度及數(shù)據(jù)類型 嵌入式ARM微處理器概述和編程 模型 q 用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài) q 快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理 q 外部中斷模式(irq):用于通用的中斷處理 q 管理模式(svc):操作系統(tǒng)使用的保護(hù)模式 q 終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入 q 系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù) q 未定義模式(

12、und):當(dāng)未定義指令執(zhí)行時(shí)進(jìn)入 2.2.4 處理器模式 嵌入式ARM微處理器概述和編程 模型 2.2.5 寄存器組織 ARM微處理器共有37個(gè)32位寄存器,其 中31個(gè)為通用寄存器,6個(gè)為狀態(tài)寄存器。 微處理器的狀態(tài)及模式?jīng)Q定具體哪些寄存 器可以編程訪問。 嵌入式ARM微處理器概述和編程模 型 嵌入式ARM微處理器概述和編程 模型 未分組寄存器R0R7 在所有的運(yùn)行模式下,未分組寄存器都指向同一 個(gè)物理寄存器,在中斷或異常處理進(jìn)行模式轉(zhuǎn)換時(shí), 可能會(huì)造成寄存器中數(shù)據(jù)的破壞。 嵌入式ARM微處理器概述和編程 模型 分組寄存器R8R12 q R8R12:每個(gè)寄存器對(duì)應(yīng)兩個(gè)不同的物理寄存器 當(dāng)使用

13、fiq模式時(shí),訪問寄存器R8_fiqR12_fiq; 當(dāng)使用除fiq模式以外的其他模式時(shí),訪問寄存器 R8_usrR12_usr。 嵌入式ARM微處理器概述和編程 模型 分組寄存器R13R14 q R13、R14:每個(gè)寄存器對(duì)應(yīng)6個(gè)不同的物理寄存器 1個(gè)是用戶模式與系統(tǒng)模式共用 其它5個(gè)對(duì)應(yīng)于其他5種模式 q 采用以下的記號(hào)來區(qū)分不同的物理寄存器: R13_ R14_ q mode為以下幾種之一:usr、fiq、irq、svc、abt、und。 嵌入式ARM微處理器概述和編程 模型 堆棧指針 R13 q R13在ARM指令中常用作堆棧指針,但這只是一種習(xí)慣用 法,用戶也可使用其他的寄存器作為堆

14、棧指針。 q 在Thumb指令集中,某些指令強(qiáng)制性的要求使用R13作為 堆棧指針。 q 由于處理器的每種運(yùn)行模式均有自己獨(dú)立的物理寄存器 R13,在初始化部分,都要初始化每種模式下的R13,這樣, 當(dāng)程序的運(yùn)行進(jìn)入異常模式時(shí),可以將需要保護(hù)的寄存器 放入R13所指向的堆棧,而當(dāng)程序從異常模式返回時(shí),則 從對(duì)應(yīng)的堆棧中恢復(fù)。 嵌入式ARM微處理器概述和編程 模型 子程序鏈接寄存器 R14 q 當(dāng)執(zhí)行BL子程序調(diào)用指令時(shí),R14得到R15(PC)的 備份。其他情況下,R14用作通用寄存器。 q 當(dāng)異?;蛑袛喟l(fā)生時(shí),相應(yīng)的分組寄存器R14用于保 存PC的返回值。 嵌入式ARM微處理器概述和編程 模型

15、 BL SUB1 /* 將R14存入堆棧 */ SUB1: STMFD SP!, , LR /* 完成子程序返回 */ LDMFD SP!, PC 子程序鏈接寄存器 R14 嵌入式ARM微處理器概述和編程 模型 程序計(jì)數(shù)器 R15(PC) q ARM狀態(tài)下,位1:0為0,位31:2用于保存PC; q Thumb狀態(tài)下,位0為0,位31:1用于保存PC; 嵌入式ARM微處理器概述和編程 模型 程序狀態(tài)寄存器(CPSR/SPSR) R16用作CPSR(當(dāng)前程序狀態(tài)寄存器),包含條件標(biāo)志 位、中斷禁止位、當(dāng)前處理器模式標(biāo)志位。 每一種運(yùn)行模式下有1個(gè)專用的SPSR(備份程序狀 態(tài)寄存器),異常發(fā)生時(shí)

16、,SPSR用于保存CPSR的值, 從異常退出時(shí)由SPSR來恢復(fù)CPSR。 嵌入式ARM微處理器概述和編程模 型 嵌入式ARM微處理器概述和編程 模型 Thumb狀態(tài)下的寄存器組織 q 直接訪問8個(gè)通用寄存器(R7R0)、程序計(jì)數(shù)器(PC) 堆棧指針(SP)、連接寄存器(LR)和CPSR。 q 每種特權(quán)模式下都有1組SP、LR和SPSR。 嵌入式ARM微處理器概述和編程模 型 嵌入式ARM微處理器概述和編程 模型 ARM與THUMB狀態(tài)寄存器關(guān)系 R0R7獨(dú)立 CPSR和SPSR獨(dú)立 SP、LR和PC相同 嵌入式ARM微處理器概述和編程 模型 程序狀態(tài)寄存器 ARM體系結(jié)構(gòu)包含1個(gè)當(dāng)前程序狀態(tài)寄

17、存器(CPSR) 和5個(gè)備份程序狀態(tài)寄存器(SPSR)。 保存ALU當(dāng)前操作的信息 控制中斷的允許和禁止 設(shè)置處理器的運(yùn)行模式 嵌入式ARM微處理器概述和編程模 型 程序狀態(tài)寄存器 嵌入式ARM微處理器概述和編程 模型 程序狀態(tài)寄存器的條件碼標(biāo)志 N、Z、C、V均為條件碼標(biāo)志位,可被算術(shù)或邏 輯運(yùn)算改變,并可用于測(cè)試來決定某條指令是否執(zhí)行。 q 在ARM狀態(tài)下,所有指令都是有條件執(zhí)行的。 q 在Thumb狀態(tài)下,分支指令是有條件執(zhí)行的。 嵌入式ARM微處理器概述和編程模 型 影響標(biāo)志位的指令 標(biāo)志位含 義 N 當(dāng)用兩個(gè)補(bǔ)碼表示的帶符號(hào)數(shù)進(jìn)行運(yùn)算時(shí),N=1 表示運(yùn)算的結(jié) 果為負(fù)數(shù);N=0 表示運(yùn)

18、算的結(jié)果為正數(shù)或零; ZZ=1 表示運(yùn)算的結(jié)果為零;Z=0表示運(yùn)算的結(jié)果為非零; C 加法運(yùn)算(包括比較指令CMN):當(dāng)運(yùn)算結(jié)果產(chǎn)生了進(jìn)位時(shí) (無符號(hào)數(shù)溢出),C=1,否則C=0。 減法運(yùn)算(包括比較指令CMP):當(dāng)運(yùn)算時(shí)產(chǎn)生了借位(無 符號(hào)數(shù)溢出),C=0,否則C=1。 對(duì)于包含移位操作的指令,C為移出值的最后1位。 V 對(duì)于加/減法運(yùn)算指令,當(dāng)操作數(shù)和運(yùn)算結(jié)果為二進(jìn)制的補(bǔ)碼 表示的帶符號(hào)數(shù)時(shí),V=1表示符號(hào)位溢出。 對(duì)于其他的非加/減運(yùn)算指令,V的值通常不改變。 Q 在ARM v5及以上版本的E系列處理器中,用Q標(biāo)志位指 示增強(qiáng)的DSP運(yùn)算指令是否發(fā)生了溢出。 嵌入式ARM微處理器概述和編

19、程 模型 程序狀態(tài)寄存器的控制位 狀態(tài)寄存器的低8位(I、F、T和M4:0)稱為控 制位,發(fā)生異常時(shí)這些位可以被改變。如果處理器運(yùn) 行特權(quán)模式,這些位也可以由程序修改。 q 中斷禁止位I、F: I=1 禁止IRQ中斷; F=1 禁止FIQ中斷。 嵌入式ARM微處理器概述和編程 模型 程序狀態(tài)寄存器的控制位 q T標(biāo)志位:該位反映處理器的運(yùn)行狀態(tài) ARM體系結(jié)構(gòu)v5及以上的版本的T系列處理器,當(dāng) 該位為1時(shí),程序運(yùn)行于Thumb狀態(tài),否則運(yùn)行于 ARM狀態(tài)。 ARM體系結(jié)構(gòu)v5及以上的版本的非T系列處理器, 當(dāng)該位為1時(shí),執(zhí)行下一條指令以引起未定義的指 令異常;當(dāng)該位為0時(shí),表示運(yùn)行于ARM狀態(tài)

20、。 q 運(yùn)行模式位M4:0:模式位,決定處理器的運(yùn)行模式 嵌入式ARM微處理器概述和編程模 型 處理器運(yùn)行模式及可以訪問的寄存器 M4:0處理器模式ARM狀態(tài)可訪問的寄存器 10000用戶模式PC,CPSR,R0-R14 10001FIQ模式PC,CPSR, SPSR_fiq,R14_fiq-R8_fiq, R7R0 10010IRQ模式PC,CPSR, SPSR_irq,R14_irq, R13_irq, R12R0 10011管理模式PC,CPSR, SPSR_svc,R14_svc, R13_svc, R12R0, 10111終止模式PC,CPSR, SPSR_abt,R14_abt,R

21、13_abt, R12R0, 11011未定義模式PC,CPSR, SPSR_und,R14_und, R13_und, R12R0, 11111系統(tǒng)模式PC,CPSR(ARM v4及以上版本), R14R0 嵌入式ARM微處理器概述和編程 模型 當(dāng)正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱之 為異常。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保 留,以便當(dāng)異常處理完成后,原來的程序可以恢復(fù)。 當(dāng)多個(gè)異常同時(shí)發(fā)生時(shí),按照固定的優(yōu)先級(jí)進(jìn)行 處理。 2.2.6 異常(Exceptions) 嵌入式ARM微處理器概述和編程模 型 ARM體系結(jié)構(gòu)支持的異常類型 異常類型具體含義 復(fù)位復(fù)位電平有效時(shí),產(chǎn)生復(fù)位異常

22、,程序跳轉(zhuǎn)到 復(fù)位處理程序處執(zhí)行。 未定義指令遇到不能處理的指令時(shí),產(chǎn)生未定義指令異常。 軟件中斷執(zhí)行SWI指令產(chǎn)生,用于用戶模式下的程序調(diào) 用特權(quán)操作指令。 指令預(yù)取終 止 處理器預(yù)取指令的地址不存在,或該地址不允 許當(dāng)前指令訪問,產(chǎn)生指令預(yù)取中止異常。 數(shù)據(jù)終止處理器數(shù)據(jù)訪問指令的地址不存在,或該地址 不允許當(dāng)前指令訪問時(shí),產(chǎn)生數(shù)據(jù)中止異常。 IRQ外部中斷請(qǐng)求有效,且CPSR中的I位為0時(shí),產(chǎn) 生IRQ異常。 FIQ快速中斷請(qǐng)求引腳有效,且CPSR中的F位為0時(shí), 產(chǎn)生FIQ異常。 嵌入式ARM微處理器概述和編程 模型 進(jìn)入異常處理 將下一條指令的地址保存到相應(yīng)鏈接寄存器LR 將CPSR

23、復(fù)制到相應(yīng)的SPSR 根據(jù)異常類型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式位 強(qiáng)制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行 嵌入式ARM微處理器概述和編程 模型 R14_ = Return Link SPSR_ = CPSR CPSR4:0 = Exception Mode Number CPSR5 = 0 If = Reset or FIQ then CPSR6 = 1 CPSR7 = 1 PC = Exception Vector Address 異常響應(yīng)偽代碼 處理器處于Thumb狀態(tài),則當(dāng)異常向量地址加載 入PC時(shí),處理器自動(dòng)切換到ARM狀態(tài)。 在ARM狀態(tài)下執(zhí)行 禁止快速中斷 禁止正常中斷 轉(zhuǎn)入

24、異常入口地址 嵌入式ARM微處理器概述和編程 模型 從異常處理返回 將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC 將SPSR復(fù)制回CPSR 若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除 嵌入式ARM微處理器概述和編程 模型 FIQ(Fast Interrupt Request) FIQ異常是為了支持?jǐn)?shù)據(jù)傳輸或者通道處理而設(shè)計(jì)的。 q 若將CPSR的F位置為1,則會(huì)禁止FIQ中斷,若將CPSR的 F位清零,處理器會(huì)在指令執(zhí)行時(shí)檢查FIQ的輸入。注意 只有在特權(quán)模式下才能改變F位的狀態(tài)。 q 可由外部通過對(duì)處理器上的nFIQ引腳輸入低電平產(chǎn)生FIQ。 不管是在ARM狀態(tài)還是在Thumb狀態(tài)下進(jìn)

25、入FIQ模式, FIQ處理程序均可以執(zhí)行以下指令從FIQ模式返回: SUBS PC, R14_fiq , #4 嵌入式ARM微處理器概述和編程 模型 IRQ(Interrupt Request) IRQ異常屬于正常的中斷請(qǐng)求,可通過對(duì)處理器 的nIRQ引腳輸入低電平產(chǎn)生,IRQ的優(yōu)先級(jí)低于FIQ, 當(dāng)程序執(zhí)行進(jìn)入FIQ異常時(shí),IRQ可能被屏蔽。 q 若將CPSR的I位置為1,則會(huì)禁止IRQ中斷,若將CPSR 的I位清零,處理器會(huì)在指令執(zhí)行完之前檢查IRQ的輸入。 注意只有在特權(quán)模式下才能改變I位的狀態(tài)。 q 不管是在ARM狀態(tài)還是在Thumb狀態(tài)下進(jìn)入IRQ模式, IRQ處理程序均可以執(zhí)行以下指令從IRQ模式返回: SUBS PC , R14_irq , #4 嵌入式ARM微處理器概述和編程 模型 ABORT(終止) 產(chǎn)生終止異常意味著對(duì)存儲(chǔ)器的訪問失敗。ARM微 處理器在存儲(chǔ)器訪問周期內(nèi)檢查是否發(fā)生終止異常。 q 終止異常包括兩種類型: 指令預(yù)取終止 數(shù)據(jù)終止

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論