嵌入式系統(二) ARM晶元及體系架構(下)

2021-10-03 11:55:42 字數 2735 閱讀 2488

5.儲存器對映

6.流水線

7.異常和中斷

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

cortex-m3處理器支援兩種處理器的操作模式,還支援兩級特權操作。兩種操作模式分別為:處理者模式(handler mode)和執行緒模式(thread mode)。兩級特權操作分別為:特權級和使用者級(非特權級)

(1)特權訪問與使用者訪問(非特權訪問)

特權執行可以訪問所有資源。

非特權執行時對有些資源的訪問受到限制或不允許訪問。如部分指令的使用 (設定faultmask和primask的cps指令 )對系統控制空間(scs)的大部分暫存器的訪問。

(2)執行緒模式和處理者模式

出現異常時處理器進入處理者模式

在處理者模式中,所有**都是特權訪問的

③ tips

(1)使用者可以方便地從特權級切換到使用者級,但一旦進入使用者級,就不能簡單地試圖改寫控制暫存器就回到特權級,必須先申訴:執行一條系統呼叫指令svc。

(2)通過引入特權級和使用者級,就能夠在硬體水平上限制某些不受信任的或者還沒除錯好的程式,不讓他們隨意配置涉及要害的暫存器,因而系統的可靠性得到了提高。

(3)主堆疊和程序堆疊

cortex-m3核心有兩個堆疊指標:msp(sp_main)和psp(sp_process)

堆疊指標r13是分組暫存器,在sp_main和sp_process之間切換。在任何時候,程序堆疊和主堆疊中只有乙個是可見的。

msp:由作業系統核心,異常服務例程以及應用程式**訪問-處理者模式只能使用msp,因為他永遠是特權級的。

psp:用於不處於異常服務例程中的常規的應用程式**。

控制暫存器用於定義特權級別,還用於選擇當前使用哪個堆疊指標。

總體來說,cortex-m3支援4gb儲存空間。

記憶體中有兩種格式儲存字資料,稱之為大端格式和小端格式。

大端格式:字資料的高位元組儲存在低位址中,而字資料的低位元組則存放在高位址中。

小端格式:與大端儲存格式相反,低位址中存放的是字資料的低位元組,高位址儲存存放的是字資料的高位元組。

cortex-m3處理器支援的資料型別有32位字、16位半字和8位位元組。cortex-m3處理器支援非對齊的傳送,資料儲存器的訪問無須對齊。

cortex-m3處理器使用乙個帶分支**的3級流水線,分別是取指、解碼和執行。因為帶分支**,跳轉指令在解碼時就被識別,取指時流水線自動載入跳轉後位址的指令。

(1)分支**功能

到bne的時候,由於bne是跳轉指令,是否跳轉取決於前面cmp指令的結果,由於cmp指令已經解碼了,因此就可以**到底是跳轉還是順序執行,如果跳轉那麼下乙個指令直接就取跳轉之後位置的指令,這叫作分支**。

異常:指在正常的程式執行流程中發生暫時的停止並轉向相應的處理。既包括系統異常,也包括一些程式中斷。

中斷:是對cortex-m3核來說是來自核心的外面,來自各種片上外設或外擴的外設。

系統異常:是因為核心的活動產生的,即在執行指令或訪問儲存器時產生。

在處理異常前,當預處理器的狀態必須保留,這樣當異常處理完成後,當前程式繼續執行。

處理器允許多個異常同時發生,他們將會按固定的優先順序進行處理。

異常型別表:15個系統異常,240個中斷源

(1)異常優先順序

數值越**明優先順序越高,復位的優先順序最高,高優先順序的可以搶占低優先順序的資源。

(2)cortex-m3 異常有哪些特點?

自動的狀態儲存和恢復。處理器在進入異常之前將狀態暫存器和部分暫存器自動壓棧,退出後自動出棧,不需要多餘的指令。

自動讀取**儲存器或sram中包含位址的向量表入口。該操作與狀態儲存同時執行。

中斷優先順序可動態重新設定。

中斷數目可配置為1~240。

cortex-m3有乙個可選的儲存器保護單元。配上它之後,就可以對特權級訪問和使用者級訪問分別施加不同的訪問限制。

當檢測到犯規時,mpu會產生乙個實現(fault)異常,可以由(fault)異常的服務例程來分析該錯誤。

最常見的就是由作業系統使用mpu,以使特權級**的資料,包括作業系統本身的資料不被其他使用者程式破壞。

嵌入式及ARM簡介

嵌入式結構 軟體 應用程式 庫 libc.so.6libc so qt 檔案系統 核心 linuxandroid bootloader uboot myboot 硬體 板卡 soc ddr nand emmc lcd soc cpu arm 匯流排 控制器 arm公司 只設計處理器架構 soc由三星...

嵌入式系統 概述 ARM指令

嵌入式系統是以應用為中心,以計算機技術為基礎,採用可裁剪軟硬體,適用於對功能 可靠性 成本 體積 功耗等有嚴格要求的專用計算機系統。它一般由嵌入式微處理器 外圍硬體裝置 嵌入式作業系統及使用者應用程式四部分組成。簡單說,網咖裡的電腦是通用計算機,而 豆漿機等內含的都有嵌入式系統。嵌入式系統的特點是功...

ARM學習筆記 嵌入式系統

嵌入式系統是 1 以應用為中心,以計算機技術為基礎 2 軟硬體可裁減,3 對功能 可靠性 成本 體積 功耗有嚴格要求的專用計算機系統。1 嵌入式應用領域 通訊 對講機 醫療 血壓儀 智慧型家居 遊戲機 軍事 頭盔 2 什麼樣的結構讓嵌入式系統具備軟硬體可裁減的特點 硬體 嵌入式處理器 arm x86...