ARM·微處理器的編程模型
2)程序狀態(tài)寄存器(CPSR)
·mode:表示處理器的工作狀態(tài)
·T:0,ARM state;1,Thumb state ;
·interrupt disable bits
I=1:Disables the IRQ
F=1:Disable the FIO
·condition code flags
N = Negative result from ALU (非零)
Z = Zero result from ALU (結(jié)果是零)
C = ALU operation Carried out (進(jìn)位)
V = ALU operation Overflowed (溢出)
v5,v6的
Q:dsp擴(kuò)展單元
J:java加速器
(處理器用于存儲(chǔ)數(shù)據(jù)方式有兩種,分為大字節(jié)序和小字節(jié)序
大字節(jié)序:高字節(jié)在低位,低字節(jié)在高位
小字節(jié)序:高字節(jié)在高位,低字節(jié)在低位
*老版本只支持小字字節(jié),現(xiàn)在都支持,linux網(wǎng)絡(luò)編程采用大字節(jié)序)
【ARM所支持的異常】
(只要正常的程序流被暫時(shí)中止,處理器將進(jìn)入異常模式。在處理異常之前,ARM9內(nèi)核保存的當(dāng)前的處理器狀態(tài)(CPSR->SPSR),這樣當(dāng)處理器結(jié)束時(shí)可以恢復(fù)執(zhí)行原來的程序(SPSR->CPSR))
Reset:復(fù)位中斷 ;
Reset:復(fù)位中斷 ;
Undefineed Instruction :未定義指令;
Software Interrupt:軟件中斷
Prefetch Abort:預(yù)取指令中止 ;
Date Abort :數(shù)據(jù)中止 ;
IRQ:外部中斷 ;
FIQ:快速中斷請(qǐng)求 ;
【異常的響應(yīng)】
1)進(jìn)入異常:
*LR中保存當(dāng)前執(zhí)行指令的下一條指令的地址:LR=PC-4
*CPSR->SPSR (保留狀態(tài))
*CPSR->與異常類型相對(duì)應(yīng)的狀態(tài)
*PC從相關(guān)異常向量處取址
*跳轉(zhuǎn),執(zhí)行命令
2)從異常返回
*SPSR->CPSR
*LR寄存值減去一個(gè)偏移量后復(fù)制到PC寄存器,跳轉(zhuǎn)被中斷的用戶程序
關(guān)鍵詞:
ARM微處理器編程模
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論