一、SOC
RAM:隨機訪問存儲器,存放隨機變量,掉電數據丟失
ROM:只讀存儲器,存放單片機的程序、指令,掉電數據不丟失
注:
? ? ? ? 1、馮諾依曼架構中將數據與指令存放在同一存儲器中
? ? ? ? 2、哈佛架構是將數據與指令存放在不同的存儲器中
二、內核
? ? ? ? 1、ALU:算術邏輯單元
? ? ? ? 2、R0~R15:通用寄存器
注:(1)R13(SP):堆棧指針,存放棧區的地址
? ? ? ? (2)R14(LR):鏈接返回,存放要返回的地址
? ? ? ? (3)R15(PC):程序計數,指向當前執行的指令的下一個指令地址
? ? ? ? 3、CPSR:當前程序狀態寄存器,存放當前的程序狀態
? ? ? ? 4、SPSR:是CPSR的備份,方便程序返回是恢復之前CPSR的狀態
? ? ? ? 5、cache:高速緩沖存儲器,CPU可以直接訪問,用來存放當前正在執 行的程序中的活躍部分,以便快速地向CPU提 供指令和數據。
? ? ? ? ? ? ? ? 1)i cache:代碼高速緩沖存儲器
? ? ? ? ? ? ? ? 2)d cache:數據高速緩沖存儲器
? ? ? ? 6、MMU:內存處理單元,把物理單元映射為虛擬內存
三、計算機的指令集
?????????CPU的指令集其實就是用指令對計算機實現控制 和計算的指令集合,分復雜指令集和精簡指令集 。
?????????RISC:Reduced Instruction Set Computer,精簡指令集
????????CISC:Complex Instruction Set Computer,復雜指令集???
注:1、AHB:先進的高速總線
? ? ? ? 2、APB:先進的外設總線
四、RAM
? ? ?
五、ROM
? ? ? ? 1、nor flash 可被尋址
? ? ? ? 2、nand flash 不可尋址
六、處理器工作模式
????????ARM有7個基本工作模式:
User:非特權模式,大部分任務執行在這種模式
FIQ:當一個高優先級(fast)中斷產生時將會進入這種模式
IRQ:當一個低優先級(normal)中斷產生時將會進入這種模式
Supervisor:當復位或軟中斷指令執行時將會進入這種模式
Abort:當存取異常時將會進入這種模式
Undef:當執行未定義指令時會進入這種模式
System:使用和User模式相同寄存器集的特權模式
七、異常處理
????
八、匯編指令
? ? ? ? 1、查手冊:
? ? ? ? 2、mov
? ? ? ? Rd:目標寄存器,包括所有通用寄存器
? ? ? ? Rm:源寄存器
? ? ? ? #<const>:立即數
? ? ? ? ? ? ? ? LSL:邏輯左移;
? ? ? ? ? ? ? ? LSR:邏輯右移
? ? ? ? ? ? ? ? ROR:循環右移;
九、匯編程序
? ? ? ? 1、start.s
?? ?area reset, code, readonly
code32?? ?entry
?? ?mov r0,#2
?? ?mov r2,r0,ror #2
end
注:調試:
? ? ? ? (1)
? ? ? ? (2)