国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2659|回復: 0
打印 上一主題 下一主題

ARM異常處理流程

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2017-4-20 14:29:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

在學習與開發ARM處理器的過程中,一個不能繞開的話題就是異常處理流程。它在ARM的體系架構中,占據著不可動搖的重要地位。此處就以Coterx-A系列的ARM處理器簡單分析一下異常中斷處理流程。

說異常處理流程之前,我們先說一下ARM處理器的工作模式和異常源。

在Coterx-A系列之前的ARM處理器,一共有個基本工作模式:

User : 非特權模式,大部分任務執行在這種模式;

FIQ : 當一個高優先級(fast) 中斷產生時將會進入這種模式;

IRQ : 當一個低優先級(normal) 中斷產生時將會進入這種模式;

Supervisor :當復位或軟中斷指令執行時將會進入這種模式;

Abort : 當存取異常時將會進入這種模式;

Undef : 當執行未定義指令時會進入這種模式;

System : 使用和User模式相同寄存器集的特權模式;

而Coterx-A系列處理器則多了一種工作模式:

Monitor : 是為了安全而擴展出的用于執行安全監控代碼的模式;


我們先想一下現實生活中遇到的類似情況,看看我們是怎么處理的。假如我們現在正在聽歌,突然門鈴響了,我們怎么辦呢?首先把歌暫停一下,也就是保存當前正在播放的狀態。然后去開門看看是誰,忙完了,繼續回來聽歌�?偨Y一下:突然情況發生時,保存當前狀態,去處理突發事件,完成后,恢復保存的狀態,繼續進行。

而在ARM內核規定的異常處理流程也采用了類似的流程。

當異常產生時, ARM core:

拷貝 CPSR 到 SPSR_

設置適當的 CPSR 位:

改變處理器狀態進入ARM態

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

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

保存返回地址到 LR_

設置 PC 為相應的異常向量

返回時, 異常處理需要:

從 SPSR_恢復CPSR

從LR_恢復PC

以上所有的操作都是在ARM態下進行的。大家看看這個流程是否符合我們從實際生活中所總結的流程。

異常發生時,ARM Core自動保存CPSR->SPSR(對應的異常模式下的SPSR寄存器)、保存返回地址->LR(對應的異常模式下的LR寄存器),這些操作都是為了保存現場,以便將來返回。而設置CPSR則是為了處理異常。保存的返回地址則是異常發生前正在執行指令的下一條指令的地址,即此時的(pc-4)。

處理完成時,我們自己需要恢復CPSR、PC則是為了繼續執行異常發生前的指令。

而ARM匯編中的跳轉指令的執行也才用了同樣的流程。大家有興趣的話,可以自己編寫代碼調試,觀察現象。


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

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一二三四免费高清视频社区 | 18视频免费网站 | 日本激情视频网站 | 另类视频区第一页 | 91免费在线视频观看 | 日本精品视频 | 国产精品成人不卡在线观看 | 91香蕉国产线在线观看免费 | 韩国一级成a人片在线观看 韩国一级a毛片 | 免费国产一级特黄久久 | 国产黄色片视频 | 精品小视频在线观看 | 亚洲 中文 欧美 日韩 在线人 | 91啦视频在线观看 | 99精品国产福利免费一区二区 | 日本特黄网站 | 国产精品麻豆免费版 | 99re最新视频 | 亚洲欧美另类视频 | 国产特级毛片aaaaaaa高清 | 日本在线看免费 | 国产91短视频 | 国产日韩欧美自拍 | 高清xx另类麻豆性色生活片 | 国产区1 | 精品欧美高清不卡在线 | 欧美成人在线网站 | 国产91视频网 | 国产麻豆剧传媒精品网站 | 女老师在线播放 | 亚洲欧洲日韩在线 | 日韩经典一区 | 色婷五月综激情亚洲综合 | 国产在线一区二区三区欧美 | 成人福利在线视频 | 精品日本一区二区 | 亚洲精品男人天堂 | 日韩有码第一页 | 日本天堂影院在线播放 | 日韩精品欧美 | 99热精品国产三级在线观看 |