嵌入式系統(tǒng)(二):ARM芯片及體系架構(gòu)(下)

姓名:陳星月? ? ? ? ?學(xué)號:19029100022? ? ?學(xué)院:丁香2號書院

轉(zhuǎn)自:https://blog.csdn.net/csyifanZhang/article/details/104648813

【嵌牛導(dǎo)讀】本文將對嵌入式系統(tǒng)的ARM Cortex-M3進行介紹

嵌牛鼻子】ARM Cortex-M3

嵌牛提問】什么是ARM Cortex-M3涛酗?

嵌牛正文

4.操作模式和特權(quán)級別

Cortex-M3處理器支持兩種處理器的操作模式霞怀,還支持兩級特權(quán)操作啊楚。兩種操作模式分別為:處理者模式(handler mode)和線程模式(thread mode)提完。兩級特權(quán)操作分別為:特權(quán)級和用戶級(非特權(quán)級)

(1)特權(quán)訪問與用戶訪問(非特權(quán)訪問)

?特權(quán)執(zhí)行可以訪問所有資源过蹂。

?非特權(quán)執(zhí)行時對有些資源的訪問受到限制或不允許訪問咒吐。如部分指令的使用 (設(shè)置FAULTMASK和PRIMASK的CPS指令 )對系統(tǒng)控制空間(SCS)的大部分寄存器的訪問糊闽。

(2)線程模式和處理者模式

Cortex-M3處理器支持兩種工作模式:線程模式和處理者模式

① 線程模式–可特權(quán)可用戶

?在復(fù)位時處理器進入線程模式–準(zhǔn)確來說復(fù)位之后處理器特權(quán)及訪問

?異常返回時處理器進入線程模式

?特權(quán)和用戶(非特權(quán))代碼能夠在線程模式下運行

線程模式下用戶級訪問和特權(quán)級訪問的轉(zhuǎn)換

② 處理者模式-全特權(quán)訪問-異常讀物

?出現(xiàn)異常時處理器進入處理者模式

?在處理者模式中邢锯,所有代碼都是特權(quán)訪問的

③ Tips

(1)用戶可以方便地從特權(quán)級切換到用戶級怀浆,但一旦進入用戶級谊囚,就不能簡單地試圖改寫控制寄存器就回到特權(quán)級,必須先申訴:執(zhí)行一條系統(tǒng)調(diào)用指令SVC执赡。

(2)通過引入特權(quán)級和用戶級镰踏,就能夠在硬件水平上限制某些不受信任的或者還沒調(diào)試好的程序,不讓他們隨意配置涉及要害的寄存器沙合,因而系統(tǒng)的可靠性得到了提高奠伪。

(3)主堆棧和進程堆棧

?Cortex-M3內(nèi)核有兩個堆棧指針:MSP(SP_main)和PSP(SP_process)

?堆棧指針R13是分組寄存器,在SP_main和SP_process之間切換。在任何時候绊率,進程堆棧和主堆棧中只有一個是可見的谨敛。

?MSP:由操作系統(tǒng)內(nèi)核,異常服務(wù)例程以及應(yīng)用程序代碼訪問-處理者模式只能使用MSP滤否,因為他永遠是特權(quán)級的脸狸。

?PSP:用于不處于異常服務(wù)例程中的常規(guī)的應(yīng)用程序代碼。

控制寄存器用于定義特權(quán)級別藐俺,還用于選擇當(dāng)前使用哪個堆棧指針炊甲。

5.存儲器映射

總體來說,Cortex-M3支持4GB存儲空間欲芹。

內(nèi)存中有兩種格式存儲字數(shù)據(jù)卿啡,稱之為大端格式和小端格式。

?大端格式:字數(shù)據(jù)的高字節(jié)存儲在低地址中菱父,而字數(shù)據(jù)的低字節(jié)則存放在高地址中颈娜。

?小端格式:與大端存儲格式相反,低地址中存放的是字數(shù)據(jù)的低字節(jié)浙宜,高地址存儲存放的是字數(shù)據(jù)的高字節(jié)官辽。

Cortex-M3處理器支持的數(shù)據(jù)類型有32位字、16位半字和8位字節(jié)梆奈。Cortex-M3處理器支持非對齊的傳送野崇,數(shù)據(jù)存儲器的訪問無須對齊。

6.流水線

Cortex-M3處理器使用一個帶分支預(yù)測的3級流水線亩钟,分別是取指乓梨、解碼和執(zhí)行。因為帶分支預(yù)測清酥,跳轉(zhuǎn)指令在譯碼時就被識別扶镀,取指時流水線自動加載跳轉(zhuǎn)后地址的指令。

(1)分支預(yù)測功能

到BNE的時候焰轻,由于BNE是跳轉(zhuǎn)指令臭觉,是否跳轉(zhuǎn)取決于前面CMP指令的結(jié)果,由于CMP指令已經(jīng)譯碼了辱志,因此就可以預(yù)測到底是跳轉(zhuǎn)還是順序執(zhí)行蝠筑,如果跳轉(zhuǎn)那么下一個指令直接就取跳轉(zhuǎn)之后位置的指令,這叫作分支預(yù)測揩懒。

7.異常和中斷

異常:指在正常的程序執(zhí)行流程中發(fā)生暫時的停止并轉(zhuǎn)向相應(yīng)的處理什乙。既包括系統(tǒng)異常,也包括一些程序中斷已球。

?中斷:是對Cortex-M3核來說是來自內(nèi)核的外面臣镣,來自各種片上外設(shè)或外擴的外設(shè)辅愿。

?系統(tǒng)異常:是因為內(nèi)核的活動產(chǎn)生的,即在執(zhí)行指令或訪問存儲器時產(chǎn)生忆某。

?在處理異常前点待,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成后弃舒,當(dāng)前程序繼續(xù)執(zhí)行癞埠。

?處理器允許多個異常同時發(fā)生,他們將會按固定的優(yōu)先級進行處理棒坏。

異常類型表:15個系統(tǒng)異常燕差,240個中斷源

(1)異常優(yōu)先級

數(shù)值越小說明優(yōu)先級越高遭笋,復(fù)位的優(yōu)先級最高坝冕,高優(yōu)先級的可以搶占低優(yōu)先級的資源。

(2)Cortex-M3 異常有哪些特點瓦呼?

?自動的狀態(tài)保存和恢復(fù)喂窟。處理器在進入異常之前將狀態(tài)寄存器和部分寄存器自動壓棧,退出后自動出棧央串,不需要多余的指令磨澡。

?自動讀取代碼存儲器或SRAM中包含地址的向量表入口。該操作與狀態(tài)保存同時執(zhí)行质和。

?中斷優(yōu)先級可動態(tài)重新設(shè)置稳摄。

?中斷數(shù)目可配置為1~240。

8.存儲器保護單元(MPU)

?Cortex-M3有一個可選的存儲器保護單元饲宿。配上它之后厦酬,就可以對特權(quán)級訪問和用戶級訪問分別施加不同的訪問限制。

?當(dāng)檢測到犯規(guī)時瘫想,MPU會產(chǎn)生一個實現(xiàn)(fault)異常仗阅,可以由(fault)異常的服務(wù)例程來分析該錯誤。

?最常見的就是由操作系統(tǒng)使用MPU国夜,以使特權(quán)級代碼的數(shù)據(jù)减噪,包括操作系統(tǒng)本身的數(shù)據(jù)不被其他用戶程序破壞。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末车吹,一起剝皮案震驚了整個濱河市筹裕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窄驹,老刑警劉巖朝卒,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異馒吴,居然都是意外死亡扎运,警方通過查閱死者的電腦和手機瑟曲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豪治,“玉大人洞拨,你說我怎么就攤上這事「耗猓” “怎么了烦衣?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長掩浙。 經(jīng)常有香客問我花吟,道長,這世上最難降的妖魔是什么厨姚? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任衅澈,我火速辦了婚禮,結(jié)果婚禮上谬墙,老公的妹妹穿的比我還像新娘今布。我一直安慰自己,他們只是感情好拭抬,可當(dāng)我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布部默。 她就那樣靜靜地躺著,像睡著了一般造虎。 火紅的嫁衣襯著肌膚如雪傅蹂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天算凿,我揣著相機與錄音份蝴,去河邊找鬼。 笑死澎媒,一個胖子當(dāng)著我的面吹牛搞乏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播戒努,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼请敦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了储玫?” 一聲冷哼從身側(cè)響起侍筛,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撒穷,沒想到半個月后匣椰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡端礼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年禽笑,在試婚紗的時候發(fā)現(xiàn)自己被綠了入录。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡佳镜,死狀恐怖僚稿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蟀伸,我是刑警寧澤蚀同,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站啊掏,受9級特大地震影響蠢络,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜迟蜜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一刹孔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧小泉,春花似錦芦疏、人聲如沸冕杠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽分预。三九已至兢交,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笼痹,已是汗流浹背配喳。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凳干,地道東北人晴裹。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像救赐,于是被迫代替她去往敵國和親涧团。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容