久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3645|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

ARM中斷原理

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-2-12 22:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
ARM體系設(shè)計有八種異常,并把所有現(xiàn)象用異常來表達,我們的代碼任何時刻都在這八種異常中運行。
  我們給開發(fā)板上電,這就是一種"異常",這種異常用"Reset"來表示。
  這八種異常對應(yīng)八個地址:
  Reset(復(fù)位)=========0x00000000(當上電,或按下開發(fā)板的復(fù)位鍵時,程序跳到該地址運行)
  Undef(未定義指令)=========0x00000004(當程序指針訪問地址出現(xiàn)未定義指令,程序跳到該地址運行)
  SWI(軟件中斷)=========0x00000008(當發(fā)生軟件中斷,程序跳到該地址運行)
  Prefetch Abort(預(yù)取指中止)=========0x0000000C(當預(yù)取值失敗,程序跳到該地址運行)
  Data Abort(數(shù)據(jù)中止)=========0x00000010(當訪問數(shù)據(jù)區(qū)失敗,程序跳到該地址運行)
  Reserved(保留)===========0x00000014
  IRQ===========0x00000018(當發(fā)生IRQ中斷時,程序跳到該地址運行)
  FIQ(快速中斷)========0x0000001C(當發(fā)生快速中斷時,程序跳到該地址運行)
  5.2 FIQ中斷,向量IRQ,非向量IRQ區(qū)別
  FIQ是指快速中斷請求(FastInterruptreQuest),具有最高優(yōu)先級,一般只聲明一個中斷源為FIQ,這樣可以得到最快的相應(yīng)速度,如果非要申請多個中斷源為FIQ,那么當中斷發(fā)生時,F(xiàn)IQ中斷線程通過讀取FIQ狀態(tài)寄存器來判斷當前發(fā)生的是那個中斷。
  向量IRQ(Vector IRQ)是指向量中斷請求(Vector InterruptReQuest)。具有次高優(yōu)先級。
  非向量IRQ(NO_Vector IRQ)是指非向量中斷請求。具有最低優(yōu)先級。
  5.2.1 向量中斷與非向量中斷的區(qū)別
  向量,即指有方向的量。這里所說的方向就是向量地址。
  向量中斷--由硬件提供中斷服務(wù)程序入口地址;
  非向量中斷--由軟件件提供中斷服務(wù)程序入口地址。
  上面提到的中斷向量表:
  Reset中斷向量地址是0x00000000,那么當復(fù)位中斷發(fā)生時,程序自動跳到0x00000000開始的地址執(zhí)行。這一過程由硬件實現(xiàn)。
  當定時器中斷發(fā)生時,程序自動跳到0x00000018開始的位置執(zhí)行。因為該地址是IRQ地址,IRQ不同于Reset,Reset只有一個,但IRQ有很多個。所以,程序跳到0x00000018時還要進行分支選擇,那么怎么選擇呢?
  最開始,0x00000018是從VICVectAddr寄存器中找到當前中斷服務(wù)程序地址執(zhí)行的,那么向量中斷和非向量中斷,該選哪個呢?
  ARM中斷核(PrimeCell)規(guī)定所有"非向量中斷"共用到"默認向量地址寄存器"中
  同時規(guī)定,"向量中斷"地址保存在"向量地址寄存器0-15"中
  所以,當IRQ中斷發(fā)生時,ARM中斷核(PrimeCell)會到16個IRQsolt中查找,如果沒有找到則裝載"默認向量地址寄存器"中的地址到"向量地址寄存器"中。
  其實,可以把非向量中斷理解成優(yōu)先級最低的向量中斷,因為在ARM中斷核(PrimeCell)從"向量地址寄存器"讀取地址時,是先掃描(Scan)整個IRQslot,如果沒有找到則無條件的裝載"默認向量地址寄存器"的值。這個值就是非向量IRQ中斷服務(wù)程序入口地址。
  可以這么理解,向量IRQ有16個地址,而非向量IRQ只有一個地址。
  疑問:可以設(shè)置多個非向量IRQ嗎,怎么設(shè)置,中斷發(fā)生后怎么處理?
  答案:可以同時設(shè)置兩個(兩個以上)的非向量IRQ,但是這些非向量IRQ共用一個中斷服務(wù)程序入口地址,但中斷發(fā)生后,由軟件通過IRQ狀態(tài)寄存器判斷當前發(fā)生的哪個IRQ中斷。(IRQ狀態(tài)寄存器不區(qū)分是向量IRQ還是非向量IRQ)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 丁香久久 | 九九热免费看 | 日韩精品成人网 | 欧美日韩一区二区三区四区 | 国产欧美精品一区二区三区 | 日韩在线看片 | 亚洲网在线 | 人人插人人| 午夜精品一区二区三区在线视频 | 国产一级片在线播放 | hitomi一区二区三区精品 | 北条麻妃一区二区三区在线观看 | 久久精品成人 | 欧美综合一区二区 | 国产一二区视频 | 欧美日韩国产精品一区二区 | 国产精品一区二区三区久久久 | 国产精品欧美一区二区三区不卡 | 国产观看 | 人人九九 | 视频一区中文字幕 | 成人福利网| 亚洲在线成人 | 99精品99| 五月婷亚洲| 欧美成人一区二区 | 国产福利视频导航 | 亚洲视频国产 | 国产亚洲精品成人av久久ww | 精品在线观看一区二区 | 一级欧美视频 | 免费精品在线视频 | 亚洲第一中文字幕 | 国产1区2区在线观看 | 色五月激情五月 | 午夜天堂精品久久久久 | 久久久久久亚洲精品 | 国产视频福利一区 | 一级毛片免费完整视频 | 国产精品一区久久久久 | 日日做夜夜爽毛片麻豆 |