關於arm系列處理器的體系結構問題,arm的體系結構本來涉及的知識點就比較多和複雜,筆者盡量在此處把知道的一步步的梳理一下:
1:關於s3c2440的啟動方式
s3c2440的啟動方式有兩種:
1)nand flash啟動
2)nor flash啟動
就是痛撥動開關s2來決定,s2接到nor flash 標識一側時,系統將從nor flash啟動,反之就從nand flash啟動
2:arm的工作原理以及體系結構
1)兩種工作狀態
兩種工作狀態可以相互切換
2)arm體系結構的儲存方式
arm處理器指令長度可以是32位(arm狀態下),也可以是16位的(thumb狀態下),支援位元組(8位)、半字(16位)、字(32位)三種資料型別
半字按2位元組對齊
3)工作模式
arm處理器的7種工作模式:
通常工作在使用者模式。執行模式切換:一種可以通過軟體人為的改變,另一種可以通過外部中斷或異常處理來改變工作模式。
7種工作模式劃分:
除了使用者模式以外叫做非使用者模式或者叫做特權模式
除使用者模式或系統模式以外,其餘的叫做異常模式。
4)arm的暫存器
概述:arm具有37個32位暫存器,其中31個通用暫存器,6個程式狀態暫存器。
37個暫存器的訪問:
暫存器分類:
特別的:r13、r14;
r13通常用作堆疊指標sp
關於spsr:
spsr是cpsr的備份,cpsr存放是程式的執行狀態。為異常格式設計與cpsr相同的乙個暫存器,當異常出現時,把cpsr的內容備份給spsr,當異常處理完以後,再把spsr的內容返回給cpsr,恢復現場。
CmakeLists檢測處理器體系結構
cmake的cmake sizeof void p變數會告訴我們cpu是32位還是64位。我們通過狀態訊息讓使用者知道檢測到的大小,並設定預處理器定義 if cmake sizeof void p equal 8 target compile definitions arch dependent p...
ARM體系結構與程式設計 1
arm處理器的7中執行模式 usr fiq irq svc abt und sys。arm處理器共37個暫存器 31個通用暫存器 未備份暫存器r0 r7,在所有模式下指的都是同乙個物理暫存器 備份暫存器r8 r12,每個暫存器對應兩個不同的物理暫存器。對於r13 sp 和r14 lr 來說,每個暫存...
ARM微處理器系列
目前有classic系列 cortex m系列 cortex r系列 cortex a系列和cortex a50系列5個大類。classic系列 該系列處理器由三個子系列組成 arm7系列 基於armv3或armv4架構 arm9系列 基於armv5架構 arm11系列 基於armv6架構 cort...