日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

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

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

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

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

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

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

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

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

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

寄存器,各個(gè)模式下可見(jiàn)的寄存器以及各個(gè)寄存器的功能:

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

對(duì)程序員來(lái)說(shuō)并不是所有的寄存器都可見(jiàn)。在某一時(shí)刻存儲(chǔ)器是否可見(jiàn)(可被訪(fǎng)問(wèn)),是處

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

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

有不同的物理寄存器。

以下對(duì)其進(jìn)行分類(lèi)說(shuō)明:

通用寄存器

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

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

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

一個(gè),所有模式公用。

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

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

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

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

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

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

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

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

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

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

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

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

控制中斷的使能和禁止;

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

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


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

異常:

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

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

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

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


地址

異常中斷類(lèi)型

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

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


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

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

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


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

上海2025年9月1日 /美通社/ -- 8月29日,由國(guó)際獨(dú)立第三方檢測(cè)、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國(guó)萊茵TÜV大中華區(qū)(簡(jiǎn)稱(chēng)"TÜV萊茵")...

關(guān)鍵字: 工程師 REGULATION 基礎(chǔ)知識(shí) 智能化

上海2024年8月29日 /美通社/ -- 8月18日,上海交通大學(xué)上海高級(jí)金融學(xué)院(高金/SAIF)金融MBA"科技金融實(shí)驗(yàn)班"啟動(dòng)日在徐匯校區(qū)舉行。啟動(dòng)日當(dāng)天正式揭曉了首屆"科技金融實(shí)驗(yàn)班"的培養(yǎng)體系與課程模塊。在現(xiàn)...

關(guān)鍵字: 人工智能 基礎(chǔ)知識(shí) 電子信息 節(jié)點(diǎn)

全世界數(shù)以百萬(wàn)計(jì)的工程師和科學(xué)家都在使用 MATLAB? 分析和設(shè)計(jì)改變著我們的世界的系統(tǒng)和產(chǎn)品?;诰仃嚨?MATLAB 語(yǔ)言是世界上表示計(jì)算數(shù)學(xué)最自然的方式。

關(guān)鍵字: matlab入門(mén) 教學(xué) 基礎(chǔ)知識(shí)

MATLAB是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于數(shù)據(jù)分析、無(wú)線(xiàn)通信、深度學(xué)習(xí)、圖像處理與計(jì)算機(jī)視覺(jué)、信號(hào)處理、量化金融與風(fēng)險(xiǎn)管理、機(jī)器人,控制系統(tǒng)等領(lǐng)域。

關(guān)鍵字: matlab入門(mén) 命令 基礎(chǔ)知識(shí)

MATLAB是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于數(shù)據(jù)分析、無(wú)線(xiàn)通信、深度學(xué)習(xí)、圖像處理與計(jì)算機(jī)視覺(jué)、信號(hào)處理、量化金融與風(fēng)險(xiǎn)管理、機(jī)器人,控制系統(tǒng)等領(lǐng)域。

關(guān)鍵字: matlab入門(mén) 基礎(chǔ)知識(shí) 信號(hào)處理

上海2023年2月14日 /美通社/ -- 步入2023年第一個(gè)季度,市場(chǎng)依然在震蕩中前行。作為一家全球領(lǐng)先的金融科技經(jīng)紀(jì)商,ATFX為了給全球客戶(hù)提供具有前瞻性的分析報(bào)告,分析師團(tuán)隊(duì)早已密切關(guān)注金融市場(chǎng)動(dòng)態(tài),結(jié)合各國(guó)經(jīng)...

關(guān)鍵字: ANTI RAM 基礎(chǔ)知識(shí) SIC

我們前面主要去學(xué)習(xí)了藍(lán)牙開(kāi)發(fā)所具備的基礎(chǔ)知識(shí)、常用的仿真手法,那么如何去分析我們抓到的藍(lán)牙通信包呢?不去學(xué)習(xí)藍(lán)牙通信協(xié)議,只能把抓到的Log信息,交給能看懂的人,你也最終只能當(dāng)一個(gè)測(cè)試工程師了。

關(guān)鍵字: 基礎(chǔ)知識(shí) 仿真手法 藍(lán)牙通信

(全球TMT2022年4月26日訊)The Open Group,廠(chǎng)商中立的技術(shù)聯(lián)盟,宣布正式發(fā)布TOGAF?標(biāo)準(zhǔn)第10版,這標(biāo)志著這一世界上使用最廣泛的企業(yè)架構(gòu)框架的開(kāi)發(fā)又步入一個(gè)重要里程碑。由The Open Gr...

關(guān)鍵字: GROUP PEN 模塊化結(jié)構(gòu) 基礎(chǔ)知識(shí)

低壓差 (LDO) 穩(wěn)壓器的本質(zhì)是通過(guò)將多余的功率轉(zhuǎn)化為熱量來(lái)調(diào)節(jié)電壓,使該集成電路成為低功率或小 V IN至 V OUT差分應(yīng)用的理想解決方案??紤]到這一點(diǎn),選擇合適的 LDO 和合適的封裝對(duì)于最大限度地提高應(yīng)用程序的...

關(guān)鍵字: LDO 基礎(chǔ)知識(shí) BSP 封裝

哈嘍,大家好,我是瓜哥,致力于分享互聯(lián)網(wǎng)各領(lǐng)域干貨。前幾天,有人問(wèn)瓜哥,學(xué)習(xí)編程語(yǔ)言有什么好的建議沒(méi)?今天簡(jiǎn)單和大家分享幾點(diǎn)學(xué)習(xí)編程的建議,希望可以幫助到大家。1.只要開(kāi)始,就不要怕晚瓜哥經(jīng)常看到這些問(wèn)題,大四學(xué)編程還來(lái)...

關(guān)鍵字: 編程 代碼 基礎(chǔ)知識(shí) 數(shù)據(jù)結(jié)構(gòu)
關(guān)閉