日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀] 轉(zhuǎn)載自 http://blog.csdn.net/qqliyunpeng/article/details/48791715一、簡介:異常: 是一種突發(fā)情況。異常發(fā)生后,處理器要進行相應的處理(異常處理),切換到對應的異常工作模式。二、四大步三小步

轉(zhuǎn)載自 http://blog.csdn.net/qqliyunpeng/article/details/48791715


一、簡介:

異常:

是一種突發(fā)情況。異常發(fā)生后,處理器要進行相應的處理(異常處理),切換到對應的異常工作模式。

二、四大步三小步:(異常處理的硬件完成的事項)

(1)拷貝 CPSR 到 SPSR_

(2)設置適當?shù)?CPSR 位:

①改變處理器狀態(tài)進入 ARM 狀態(tài)

②改變處理器模式進入相應的異常模式

③設置中斷禁止位禁止相應中斷 (如果需要)

(3)保存返回地址到 LR_

(4)設置 PC 為相應的異常向量

三、異常處理的返回: --通過異常返回指令1. 要做的:
  • 從 SPSR_恢復CPSR

  • 從LR_恢復PC

2. 返回的具體實現(xiàn)指令:

①第一種方式:指令帶 “S” 后綴 + PC做為目的寄存器

movs pc,lr

②第二種方式:如果 lr之前被壓棧的話使用LDM +“ ^”

ldmfd sp!,{ pc }^

注意:有些異常處理返回值需要修正lr寄存器

所有從異常返回的情況:

a、從SWI和Undef 異常返回:

movs pc,lr

b、從FIQ, IRQ和 預取異常(Prefect Abort)返回:

SUBS pc,lr,#4 == @ pc = lr -4 和cpsr = spsr 兩句

c、從數(shù)據(jù)異常(Data Abort)返回:

SUBS pc,lr,#8

d、如果LR之前被壓棧的話:

MOVS pc,lr

四、異常源處理優(yōu)先級表:1. 表:

Reset 最高

Data Abort //數(shù)據(jù)存取異常

FIQ

IRQ

Prefetch Abort

SWI

Undefined instruction

2. 向量表指令:

①異常向量表:放的是不同異常源的處理地址。

②異常向量表指令:

LDR PC, [PC, #+0xFF0] 可尋址±4k

MOV PC, #0x30000000 立即數(shù)

B IRQ_handler 可尋址±32M

五、中斷控制器:1. 為什么會有中斷控制器?:

ARM內(nèi)核(小核)只有兩個中斷源,用中斷控制器來擴展中斷源

2. 中斷控制器要實現(xiàn)的功能 / 中斷控制器的作用:
  1. 擇優(yōu)----(優(yōu)先級)

  2. 跳轉(zhuǎn)到對應的中斷處理函數(shù)

  3. 選擇處理該中斷源的cpu


六、FIQ 比 IRQ快的原因:
  1. fiq 比 irq 的優(yōu)先級高

  2. FIQ 向量位于向量表的最末端,異常處理不需要跳轉(zhuǎn)

  3. FIQ 比 IRQ 多5個私有的寄存器(r8-r12),在中斷操作時,壓棧出棧操作的少。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉