毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精


曙海教育集團(tuán)論壇ARM專區(qū) → ARM異常處理


  共有7690人關(guān)注過本帖樹形打印

主題:ARM異常處理

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
ARM異常處理  發(fā)帖心情 Post By:2010-11-18 12:12:26

如果您閱讀ARM手冊(cè),您會(huì)發(fā)現(xiàn),在ARM中,經(jīng)常強(qiáng)調(diào)Exception(異常)這個(gè)概念,在ARM里,Interrupt(中斷)也是一種形式的異常。ARM的Exception同其所定義的5種異常模式是密切相關(guān)的,CPU在捕獲到任何一個(gè)Exception后,必定會(huì)進(jìn)入某個(gè)異常模式,異常類型及捕獲到該異常后CPU所進(jìn)入的異常模式之間的對(duì)應(yīng)關(guān)系是ARM所預(yù)先定義好的。 如果您對(duì)X86比較熟悉,您會(huì)發(fā)現(xiàn),不象X86,系統(tǒng)定義了不同的中斷,比如鍵盤中斷,鼠標(biāo)中斷等等,并且系統(tǒng)也定義了這些中斷所對(duì)應(yīng)的中斷向量。ARM沒有定義這些,ARM只會(huì)告訴你,有外部中斷產(chǎn)生,并切換到IRQ或FIQ模式,然后執(zhí)行IRQ或FIQ所對(duì)應(yīng)的中斷向量。至于到底是鍵盤中斷,還是鼠標(biāo)中斷,這得由操作系統(tǒng)提供的中斷函數(shù)自己去判斷,比如通過查詢中斷控制器的某個(gè)或某些寄存器。ARM這樣做的原因是:ARM只是一個(gè)CORE,它并不定義也不去假想其外部環(huán)境,這樣可以使得ARM CORE更加緊湊和簡(jiǎn)潔,同時(shí)也給SOC設(shè)計(jì)者提供了更多的靈活性和發(fā)揮空間。您一定要相信,ARM被如此廣泛使用不是“蓋”的,從系統(tǒng)開發(fā)者角度看,ARM是一種最簡(jiǎn)單、最靈活的CPU,它的優(yōu)雅和簡(jiǎn)潔性就像C語(yǔ)言一樣。呵呵,C語(yǔ)言是我最喜歡的語(yǔ)言。 好了,“臭屁”了這么多,我們言歸正傳。對(duì)ARM異常處理的研究務(wù)必要弄清楚以下幾個(gè)方面: (1) 異常類型 (2) 異常類型及處理該異常時(shí)CPU的執(zhí)行模式 (3) 異常向量地址 (4) 異常處理過程 異常類型 ARM定義了如下類型的異常(江南七怪,這樣好記): (1) RESET異常:由于執(zhí)行RESET指令或外部RESET信號(hào)產(chǎn)生的異常 (2) SWI異常:執(zhí)行SWI指令產(chǎn)生的異常,通常用于提供系統(tǒng)調(diào)用接口 (3) IRQ異常:ARM的IRQ Signal被觸發(fā)所產(chǎn)生的異常 (4) FIQ異常:ARM的FIQ Signal被觸發(fā)所產(chǎn)生的異常 (5) Prefetch Abort異常:預(yù)取指令時(shí)產(chǎn)生的異常 (6) Data Abort異常:存取內(nèi)存數(shù)據(jù)時(shí)產(chǎn)生的異常 (7) Undefined instruction異常:執(zhí)行unknown指令時(shí)產(chǎn)生的異常 執(zhí)行模式 當(dāng)產(chǎn)生異常后,CPU會(huì)進(jìn)入相應(yīng)的異常模式并處理該異常: (1) RESET和SWI異常:CPU進(jìn)入Supervisor模式 (2) IRQ異常:CPU進(jìn)入IRQ模式 (3) FIQ異常:CPU進(jìn)入FIQ模式 (4) Prefetch Abort和Data Abort異常:CPU進(jìn)入Abort模式 (5) Undefined instruction異常:CPU進(jìn)入U(xiǎn)ndefined模式 向量地址 ARM的異常向量地址可以處于4G物理空間的低端(0x00000000起),也可以處于高端(0xffff0000起),具體是哪種情況,根據(jù)具體的CPU及其配置而定。下面是7種異常的向量地址(挎弧內(nèi)為高端情形): (1) RESET異常:0x00000000 (0xffff0000) (2) Undefined instruction異常: 0x00000004 (0xffff0004) (3) SWI異常:0x00000008 (0xffff0008) (4) Prefetch Abort異常: 0x0000000c (0xffff000c) (5) Data Abort異常: 0x00000010 (0xffff0010) (6) IRQ異常: 0x00000018 (0xffff0018) (7) FIQ異常: 0x0000001c (0xffff001c) 每個(gè)中斷向量為4字節(jié),一般的操作系統(tǒng)在該地址處放置一條跳轉(zhuǎn)指令“LDR PC,終端處理函數(shù)地址”。另外要注意的是,在IRQ異常和Data Abort異常之間空了4個(gè)字節(jié),這4個(gè)字節(jié)是保留的。 處理過程 處理過程包括兩個(gè)部分: (1) 進(jìn)入:這個(gè)過程由CPU負(fù)責(zé) (2) 退出:這個(gè)過程由OS負(fù)責(zé) 在捕獲到某個(gè)異常后,啟動(dòng)“進(jìn)入”過程,該過程內(nèi)CPU執(zhí)行如下動(dòng)作: (1) 將當(dāng)前PC的值(或PC + 4,或PC + 8)保存到R14的某個(gè)影子寄存器中。到底選擇哪個(gè)影子寄存器由該異常的執(zhí)行模式而定;另外R14影子寄存器的值同異常類型相關(guān)。比如Data Abort異常,對(duì)應(yīng)的影子寄存器就是Abort模式的影子寄存器R14_abt,R14_abt的值為異常產(chǎn)生時(shí)PC值 + 8。 (2) 將CPSR保存到CPSR的某個(gè)影子寄存器SPSR中,同樣,具體選擇哪個(gè)影子寄存器由該異常的執(zhí)行模式而定。 (3) 執(zhí)行對(duì)因的中斷向量 退出過程由操作系統(tǒng)自己負(fù)責(zé),只要確保退出后的PC和CPSR同進(jìn)入之前是一樣就可以了。有時(shí)候操作系統(tǒng)在處理某種特定情況的異常后會(huì)將退出后PC值變?yōu)檫M(jìn)入前PC值 + 4(即下一條指令地址),這僅僅是一個(gè)提醒,其目的是說(shuō)明退出過程是完全由軟件自己決定的。

支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

ARM異常處理








簽名
毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
国产亚洲美州欧州综合国| 日韩精品资源二区在线| www.一区二区| 精品国产一区二区三区四区四| **欧美大码日韩| 成人av网在线| 18欧美亚洲精品| 91电影在线观看| 亚洲第一成年网| 欧美一区二区视频在线观看2020 | 日本韩国欧美国产| 一区二区激情小说| 在线成人av网站| 国产综合久久久久久鬼色 | 精品国产乱码久久久久久牛牛| 五月开心婷婷久久| 精品少妇一区二区三区在线视频| 久久成人羞羞网站| 国产精品久久久久久久久搜平片| 91丨国产丨九色丨pron| 亚洲资源中文字幕| 在线不卡欧美精品一区二区三区| 久久激五月天综合精品| 国产精品美日韩| 欧美精品一二三| 国产suv精品一区二区883| 亚洲欧美偷拍卡通变态| 日韩欧美一级二级| 波多野结衣中文字幕一区二区三区 | 麻豆国产欧美一区二区三区| 国产午夜亚洲精品不卡| 91论坛在线播放| 蜜桃一区二区三区在线| 亚洲欧洲美洲综合色网| 91精品国产欧美一区二区18 | 一区二区理论电影在线观看| 欧美精品丝袜中出| 不卡的av电影在线观看| 天天综合天天做天天综合| 亚洲国产高清在线观看视频| 欧美日韩日日摸| gogo大胆日本视频一区| 久久国产精品露脸对白| 亚洲一二三四在线| 中文字幕高清不卡| 欧美一区二区免费观在线| 91在线无精精品入口| 精品一区二区三区视频在线观看| 一区二区三区精品视频| 国产日产欧美精品一区二区三区| 欧美一区二区三区精品| 欧美色欧美亚洲另类二区| 不卡视频免费播放| 风间由美中文字幕在线看视频国产欧美| 天堂蜜桃一区二区三区| 一个色综合av| 亚洲人123区| 国产精品九色蝌蚪自拍| 国产视频不卡一区| 久久夜色精品国产欧美乱极品| 欧美妇女性影城| 色综合天天综合网天天看片| 成人av手机在线观看| 粉嫩蜜臀av国产精品网站| 国产毛片精品视频| 狠狠色狠狠色合久久伊人| 青草av.久久免费一区| 亚洲国产三级在线| 亚洲动漫第一页| 亚洲国产精品人人做人人爽| 亚洲色图另类专区| 亚洲综合久久久久| 亚洲午夜激情网站| 亚洲国产欧美一区二区三区丁香婷| 综合久久久久综合| 一区二区免费视频| 视频一区二区三区在线| 日韩在线一区二区| 九一九一国产精品| 国产精品一二三四| 99热在这里有精品免费| 色婷婷av一区二区三区大白胸| 91日韩精品一区| 欧美嫩在线观看| 精品久久国产字幕高潮| 国产亚洲欧美日韩日本| 日韩理论在线观看| 天天操天天干天天综合网| 久久99久久精品| 成人天堂资源www在线| 色狠狠桃花综合| 精品少妇一区二区三区免费观看 | 国产又粗又猛又爽又黄91精品| 国产91精品在线观看| 色94色欧美sute亚洲线路一久| 欧美午夜精品理论片a级按摩| 日韩一区二区精品在线观看| 久久久久久久综合狠狠综合| 一区在线观看免费| 日本va欧美va欧美va精品| 国产精品白丝av| 欧美日免费三级在线| 久久噜噜亚洲综合| 亚洲一区二区三区中文字幕在线| 美国精品在线观看| 波多野结衣一区二区三区| 精品视频123区在线观看| 久久品道一品道久久精品| 日韩美女视频一区二区| 国产美女一区二区三区| 欧美精品日韩精品| 中文字幕一区二区三区不卡| 日韩av成人高清| 一本一道久久a久久精品综合蜜臀| 91精品在线观看入口| 亚洲日本乱码在线观看| 老司机免费视频一区二区 | 色呦呦网站一区| 欧美精品一区二区三区久久久| 一区二区三区中文字幕电影| 国内成人精品2018免费看| 欧美视频一区二区三区在线观看| 久久这里都是精品| 日韩电影免费在线观看网站| 色婷婷精品久久二区二区蜜臂av| 337p日本欧洲亚洲大胆精品| 亚洲成人动漫在线免费观看| 色婷婷亚洲精品| 亚洲欧洲成人av每日更新| 韩国毛片一区二区三区| 欧美一区二区三区在线视频| 一区二区三区四区蜜桃| 99久久免费视频.com| 国产精品免费视频观看| 高清不卡在线观看av| 久久久久久久久99精品| 精品无人码麻豆乱码1区2区| 91麻豆精品国产91久久久资源速度 | 欧美成人精品3d动漫h| 香蕉成人啪国产精品视频综合网 | 男男成人高潮片免费网站| 欧美美女视频在线观看| 亚洲影院免费观看| 在线看国产日韩| 一片黄亚洲嫩模| 91福利在线观看| 亚洲va韩国va欧美va精品| 在线观看视频一区二区欧美日韩| 亚洲男同性视频| 欧美理论电影在线| 青青国产91久久久久久| 91精品国产综合久久精品图片| 亚洲一区二区三区美女| 日本电影欧美片| 丝袜美腿亚洲一区| 欧美一区二区三区视频免费| 久久99精品久久久久久| 久久精品人人做| 风间由美性色一区二区三区| 亚洲天堂精品在线观看| 欧美日韩视频在线观看一区二区三区| 午夜国产精品影院在线观看| 日韩女优av电影| 国产精品综合网| 亚洲女人****多毛耸耸8| 欧美剧情电影在线观看完整版免费励志电影| 有坂深雪av一区二区精品| 在线91免费看| 国产麻豆日韩欧美久久| 中文字幕巨乱亚洲| 色8久久精品久久久久久蜜| 日韩制服丝袜先锋影音| 久久久不卡网国产精品一区| 9人人澡人人爽人人精品| 亚洲6080在线| 国产精品视频一区二区三区不卡| 色综合久久久久网| 精品写真视频在线观看| 亚洲欧美另类在线| 欧美xxxxx牲另类人与| av一二三不卡影片| 蜜桃视频在线观看一区二区| 亚洲欧美另类久久久精品| 精品福利一区二区三区免费视频| 99精品一区二区三区| 精品亚洲免费视频| 亚洲高清在线视频| 亚洲国产成人在线| 欧美一区二视频| 在线免费观看视频一区| 国产一区二区在线视频| 亚洲无人区一区| 最新国产成人在线观看| 2023国产一二三区日本精品2022| 日本精品一级二级| 国产精品一区免费在线观看| 午夜精品久久久久久久蜜桃app | 国产精品成人午夜| 精品久久久久久久人人人人传媒| 欧美视频精品在线|