當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]用戶模式(user模式),運(yùn)行應(yīng)用的普通模式;快速中斷模式(fiq模式),用于支持?jǐn)?shù)據(jù)傳輸或通道處理;中斷模式(irq模式),用于普通中斷處理。超級用戶模式(svc模式),操作系統(tǒng)的保護(hù)模式?異常中斷模式(abt模式)

用戶模式(user模式),運(yùn)行應(yīng)用的普通模式;

快速中斷模式(fiq模式),用于支持?jǐn)?shù)據(jù)傳輸或通道處理;

中斷模式(irq模式),用于普通中斷處理。

超級用戶模式(svc模式),操作系統(tǒng)的保護(hù)模式

?異常中斷模式(abt模式),輸入數(shù)據(jù)后登入或預(yù)取異常中斷指令

?系統(tǒng)模式(sys模式),是操作系統(tǒng)使用的一個有特權(quán)的用戶模式

?未定義模式(und模式),執(zhí)行了未定義指令時進(jìn)入該模式

外部中斷,異常操作或軟件控制都可以改變中斷模式。大多數(shù)應(yīng)用程序都時是在用戶模式下運(yùn)行。進(jìn)入特權(quán)模式是為了處理中斷或異常請求或操作保護(hù)資源服務(wù)的。

這些工作模式是芯片硬件提供的程序運(yùn)行的不同環(huán)境,不同的模式有不同的硬件訪問權(quán)限,使用不同的寄存器。這就給不同的程序提供了不同的權(quán)限機(jī)制,你比如說你的操作系統(tǒng)代碼運(yùn)行在權(quán)限比較高的模式下,而你的應(yīng)用程序運(yùn)行在權(quán)限比較低的模式下。這樣就起到了對操作系統(tǒng)代碼的保護(hù)作用。

寄存器,各個模式下可見的寄存器以及各個寄存器的功能:

ARM共有37個32位的寄存器,其中31個是通用寄存器,6個是狀態(tài)寄存器。但在同一時間,

對程序員來說并不是所有的寄存器都可見。在某一時刻存儲器是否可見(可被訪問),是處

理器當(dāng)前的工作狀態(tài)和工作模式?jīng)Q定的。其各個模式下的寄存器如圖1所示:

其中系統(tǒng)模式和用戶模式所用的寄存器是一樣的。畫三角陰影的寄存器表示在不同模式下

有不同的物理寄存器。

以下對其進(jìn)行分類說明:

通用寄存器

ARM的通用寄存器包括R0~R15,其中R0~R7是屬于未分組寄存器,各個模式下都使用同樣的寄

存器。R8~R14在FIQ模式下是有獨(dú)立的物理寄存器,其目的是加快中斷響應(yīng)速度,從硬件上

保存程序執(zhí)行現(xiàn)場。R13和R14這兩個寄存器在每種模式下都有自己的獨(dú)立寄存器。R15只有

一個,所有模式公用。

下對這些寄存器中的比較有特殊功能的做一下介紹:

?寄存器R13:在ARM指令中,常用R13做堆棧指針用。每種運(yùn)行模式都有自己獨(dú)立的堆棧,用于保存中斷發(fā)生時的程序運(yùn)行環(huán)境和C語言執(zhí)行時進(jìn)行過程控制。

?寄存器R14:專職持有返回點(diǎn)的地址,在系統(tǒng)執(zhí)行一條“跳轉(zhuǎn)并鏈接(link)”(BL)指令

的時候,R14將收到一個R15的拷貝。其他的時候,它可以用作一個通用寄存器。相應(yīng)的它

在其他模式下的私有寄存器R14_svc,R14_irq,R14_fiq,R14_abt和R14_und都同樣用來保

存在中斷或異常發(fā)生時,或時在中斷和異常中執(zhí)行了BL指令時,R15的返回值。

?寄存器R15是程序計數(shù)器(PC)。在ARM狀態(tài)下,R15的bits[1:0]為0,bits[31:2]保存了PC

的值。在Thumb狀態(tài)下,bits[0]為0同時bits[31:1]保存了PC值。

FIQ模式擁有7個私有寄存器R8-14(R8_fiq-R14_fiq)。在ARM狀態(tài)下,多數(shù)FIQ處理都不需要保存任何寄存器。用戶、中斷、異常中止,超級用戶和未定義模式都擁有2個私有寄存器,R13和R14。允許這些模式都可擁有1個私有堆棧指針和鏈接(link)寄存器。

程序狀態(tài)寄存器

ARM920T具有一個當(dāng)前程序狀態(tài)寄存器(CPSR),另外還有5個保存程序狀態(tài)寄存器(SPSRs)用于異常中斷處理。這些寄存器的功能有:

?保留最近完成的ALU操作的信息;

控制中斷的使能和禁止;

?設(shè)置處理器的操作模式。

下圖2顯示了程序狀態(tài)寄存器的位定義:


關(guān)于這些位的具體含義請參見datasheet。

異常:

當(dāng)正常的程序執(zhí)行流程因一些原因發(fā)生暫時的停止時,稱之為異常。比如芯片取到了一條不認(rèn)識的指令,當(dāng)這條指令執(zhí)行時就會發(fā)生Abort異常中止,從而進(jìn)入Abort模式。也就是說不通的條件會發(fā)生不通的異常,而不同的異常就會使處理器進(jìn)入不同的處理模式。

你想知道異常什么時候發(fā)生,怎么發(fā)生的?發(fā)生后芯片都要干些什么?怎么從這些異常中返回?異常向量表是什么?那就請你仔細(xì)閱讀datasheet的第二章program’s model,這一章對這些問題都做了詳細(xì)的說明和講解。

當(dāng)然,這些和后面的UCOS是有關(guān)系的,比如UCOS和用戶的應(yīng)用程序是統(tǒng)一編譯的,都運(yùn)行在SVC模式下,當(dāng)外部中斷來時會切換到中斷模式。

請看下面的異常(中斷)向量表:


地址

異常中斷類型

進(jìn)入時處理器模式

0x00000000

Reset

Supervisor

0x00000004

Undefined instruction

Undefined

0x00000008

Software Interrupt

Supervisor

0x0000000C

Abort (prefetch)

Abort

0x00000010

Abort (data)

Abort

0x00000014

Reserved

Reserved

0x00000018

IRQ

IRQ

0x0000001C

FIQ

FIQ


異常向量表是一個填好了的跳轉(zhuǎn)指令表,中斷向量表就位于內(nèi)存地址的0開始處。當(dāng)相應(yīng)的異常發(fā)生時,CPU最后要把PC值改成向量表里的跳轉(zhuǎn)指令實(shí)現(xiàn)跳轉(zhuǎn)去執(zhí)行相應(yīng)的服務(wù)程序。當(dāng)然這時CPU的運(yùn)行模式就更改了。我們看IRQ中斷異常,這個地址向量是外部中斷的入口地址,那我們知道ARM9芯片上支持的中斷源有很多,那中斷入口就一個,怎么識別到底是哪一個具體中斷源發(fā)生了那。這一部分知識就是中斷控制器的內(nèi)容了,請參加下面的文章或者參加datasheet的十四章interrupt controller。

關(guān)于更詳細(xì)的資料請參考920t的datasheet?。。。?!

關(guān)于arm中斷系統(tǒng)請參考arm920t中斷系統(tǒng)詳解。和ucos相關(guān)的arm芯片知識講完了,當(dāng)然arm芯片知識還很多,參考920t的datasheet!?。?!


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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉