目標:了解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...