嵌入式處理器 2 3

2021-08-07 10:35:36 字數 1879 閱讀 7111

目標:了解arm處理器的工作狀態,工作模式,暫存器結構,理解arm處理器的異常處理,資料型別和儲存格式,以及記憶體管理單元(mmu)和儲存器保護單元(mpu)的含義和功能。

1.arm處理器的工作狀態及切換

在arm體系結構中,處理器可以工作在3種不同的狀態:一是arm狀態,二是thumb狀態以及thumb-2狀態,三是除錯狀態。

(1)arm狀態

arm處理器工作於32位指令的狀態。

(2)thumb狀態

arm處理器工作於16位指令的狀態。

值得注意的是:

①除cortex-m外,所有的arm處理器復位後開始執行**時總是處於arm狀態。

②cortex_m因為只有thumb-2指令集,所以只有thumb狀態和除錯狀態兩種。

(3)除錯狀態

處理器停機除錯時進入除錯狀態。

(4)arm與thumb間的轉換

①由arm狀態切換到thumb狀態

通過bx指令,將運算元暫存器最低位置1;

如果thumb狀態進入異常處理(異常處理要在arm狀態下進行),則當異常返回時,將自動切換到thumb狀態。

②thumb狀態與arm狀態間的轉換

通過bx指令,將運算元暫存器最低位置0;

當處理器進行異常處理時,則從異常向量位址開始執行,將自動進入arm狀態。

2.arm處理器的工作模式

arm體系結構支援七種工作模式,取決於程式狀態暫存器(cpsr)低五位的值。

具體參考p60的**。

3.arm處理器的暫存器組織

arm處理器共有37個暫存器,包括31個通用暫存器和6個狀態暫存器。

arm處理器在不同模式下使用的暫存器有所不同。

相同之處:

①無論何種模式,r15均作為pc使用

②cpsr為當前程式狀態暫存器

③r7~r0為公用的通用暫存器

不同之處:

高階7個通用暫存器和狀態暫存器在不同模式下不同。

(1)arm狀態下的暫存器組織

①通用暫存器

②狀態暫存器

ps:具體參考p62

(2)thumb狀態下的暫存器組織

高位暫存器r8~r12在thumb狀態不可見,在thumb-2下可以使用。

(3)帶mmu的arm處理器中的控制暫存器

3.arm處理器的異常

(1)arm異常種類,異常向量表及優先順序

復位異常的優先順序最高。

(2)arm異常的中斷響應過程

(3)從異常處理程式中返回

具體參考p64。

4.arm資料型別及儲存格式

(1)arm的兩種儲存字格式

①大端模式

高位元組放在低位址,低位元組放在高位址。

②小端模式

高位元組放在高位址,低位元組放在低位址。

系統復位時一般自動預設為小端模式,與大家熟悉的intel 80x86一致。

(2)arm儲存器的資料型別

除cortex-a50外,32位的arm處理器中支援位元組(8位),半字(16位),字(32位)。每一種又可分為有符號與無符號數,因此認為有6種資料型別。

arm狀態下,指令32位。

thumb狀態下,指令16位。

5.arm處理器中的儲存器管理單元(mmu)和儲存器保護單元(mpu)

1.arm處理器中的mmu

mmu能把系統中不同型別的儲存器(如flash,sram,sdram,rom,優盤)進行統一管理(虛擬儲存器技術)。

mmu功能:虛擬位址到實體地址的對映;儲存器訪問許可權控制。

2.arm處理器中的mpu

mpu是對儲存器進行保護的可選元件。它提供了簡單替代mmu的方法來管理儲存器。

嵌入式處理器 2 4

目標 了解arm指令集的指令型別及指令格式,掌握移位操作實現資料變換以及簡單乘除操作的方法,熟悉定址方式,掌握arm指令集中的常用指令。1.arm指令集中的指令型別以及指令格式 1 arm指令分類 六大類 分支指令,資料處理指令,程式狀態暫存器處理指令,載入 儲存指令,協處理指令和異常處理指令。具體...

嵌入式ARM處理器

嵌人式多核處理器的結構包括同構 symmetric 和異構 asymmetric 兩種。同構是指內部核的結構是相同的,這種結構目前廣泛應用在pc多核處理器 而異構是指內部核的結構是不同的,這種結構常常在嵌入式領域使用,常見的是通用嵌入式處理器 dsp核。在目前嵌入式領域中,使用最為廣泛的為arm 處...

嵌入式處理器中DHCP移植

dhcp移植搭建 華環電子 任曉亮 2015 4 03 專案 南非鐵路,三層交換單臂路由 平台 nios2 單板 etr01 1 在核心中新增以下選項 networking networkingsupport networkingoptions packetsocket 新增.配置config pa...