大家都知道,ARM有IRQ, FIQ, USR,SVC,ABORT等各種模式。當系統(tǒng)收到IRQ的時候,會進入ARM的IRQ模式。那么,ARM Linux各種驅(qū)動的中斷服務程序工作在ARM的IRQ模式嗎?
答案是否定的。
我們加一段匯編來讀CPSR:

然后我們隨便找一個ARM Linux的中斷服務程序去打印CPSR:

然后我們發(fā)現(xiàn)打印出來的值是:
cpsr:40000193
低8位的二進制是10010011
那么對應ARM CPSR的查詢,可以看出CPU處于ARM的SVC模式(低5位是10011),而且I bit被設置(第7位是1),所以是禁止IRQ的。

模式表:

可見,ARM Linux最初進入IRQ模式后,比較快速地從IRQ模式切換到了SVC模式,但是這個時候,并沒有使能CPSR的I bit,所以仍然是禁止其他中斷嵌套進入的。
(完)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
ARM
+關注
關注
135文章
9554瀏覽量
392113 -
Linux
+關注
關注
88文章
11764瀏覽量
219099 -
中斷服務
+關注
關注
0文章
9瀏覽量
7088
原文標題:ARM Linux的中斷服務程序工作在ARM的IRQ模式嗎?
文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
熱點推薦
ARM中斷模式(IRQ)和快速中斷模式(FIQ)區(qū)別比較
IRQ高。 4、FIQ模式下,比IRQ模式多了幾個獨立的寄存器。 不要小看這幾個寄存器,ARM在編譯的時候,如果你FIQ
發(fā)表于 10-13 10:43
簡述ARM的2種工作狀態(tài)和7種工作模式
模式下的其他6中模式,有SVC,F(xiàn)IQ,IRQ,ABT,UND,SYS 都可以修改CPSR寄存器、從而控制ARM工作
發(fā)表于 08-20 12:30
ARM的2種工作狀態(tài)和7種工作模式。[附帶文檔下載]
模式下的其他6中模式,有SVC,F(xiàn)IQ,IRQ,ABT,UND,SYS 都可以修改CPSR寄存器、從而控制ARM工作
發(fā)表于 08-20 09:14
基于ARM架構的linux中斷的工作原理是什么
最近在看一些關于arm linux中斷方面的資料,看了很多資料,總結一下自己對linux下中斷的理解,寫到這里供大家參考,以下所有的描述都是
發(fā)表于 05-30 09:23
ARM處理器7種工作模式
user模式下的其他6中模式,有SVC,F(xiàn)IQ,IRQ,ABT,UND,SYS 都可以修改CPSR寄存器、從而控制ARM工作
發(fā)表于 12-15 10:15
ARM向量中斷機制在uClinux下的設計
在ARM體系結構中,硬件產(chǎn)生的外部中斷( IRQ) 具有單一的程序入口。為了識別中籽源,進而運行對應的中
發(fā)表于 06-27 15:45
?64次下載
ARM7和ARM-Cortex的區(qū)別,ARM為什么會有兩種啟動方式?
IRQ,F(xiàn)IQ定義: 這就是個普通中斷,當我們程序定義了該中斷,并且在程序運行的時候產(chǎn)生了
需要了解的Linux的IRQ中斷子系統(tǒng)
在Linux中斷子系統(tǒng)(generic irq)出現(xiàn)之前,內(nèi)核使用__do_IRQ處理所有的中斷
發(fā)表于 05-10 10:56
?1802次閱讀
如何編寫基于ARM的裸機程序和基于Linux的驅(qū)動程序
在嵌入式開發(fā)中,ADC應用比較頻繁,本文主要講解ADC的基本原理以及如何編寫基于ARM的裸機程序和基于Linux的驅(qū)動程序。
ARM中斷原理以及中斷嵌套
我們可以假設ARM核心有兩根中斷引腳(實際上是看不見的),一根叫 irq pin, 一根叫fiq pin。在ARM的cpsr中,有一個I位和
如何在特權模式下用arm匯編指令使能和禁止irq中斷?
如何在特權模式下用arm匯編指令使能和禁止irq中斷? 在 ARM 系統(tǒng)中,
arm中斷是怎么實現(xiàn)的
ARM中斷的實現(xiàn)是通過中斷控制器和異常模式實現(xiàn)的。ARM處理器通過中斷控制器來接收和處理外部的
ARM處理器的工作模式和特點
ARM處理器具有多種工作模式,這些模式根據(jù)處理器執(zhí)行的任務和當前的狀態(tài)進行劃分。常見的ARM處理器工作
ARM Linux各種驅(qū)動的中斷服務程序工作在ARM的IRQ模式嗎?
評論