分类: LINUX
2011-02-16 10:36:20
今天内容:嵌入式介绍
今天内容:ARM概述和体系结构
两种状态要对齐(ARM状态(32位指令),Thumb状态(16位指令),使用BX指令转换指令集)ARM态必须都以32位对齐,Thumb以16位对齐。
三级流水变PC(取址,译码,执行)执行时PC寄存器存放的是 执行地址+8
七种模式分两组:用户(usr),快速中断(fiq),外部中断(irq),管理(SVC 复位),数据访问终止(abt),系统(sys),未定义中止(und)
八个异常各独立(复位 Reset)(未定义 Undefined)(软件中断SWI)(指令预取中止Prefetch Abort)数据中止(Data Abort)外部中断请求(IRQ)快速中断请求(FIQ)预留异常(0x0014)
32位统寻址4G寻址。将外设,内存统一编址。大小端
37个寄存器:
(User/System)R0~R14 pc CPSR(状态寄存器)
(Supervisor) R13_svc,R14_svc, SPSR_SVC
(Abort)R13_ABORT, R14_ABORT,SPSR_ABORT
(Undefined)…
(Interrupt)…
(Fast Interrupt)R8_FIQ…….
ARM指令分类:数据处理指令,程序访问指令,跳转指令,
ldr
Str r0,[r1, #12]{!} 加!改变r1的值,不加不改变。将r0 放入r1+12的地址对应的内存单元
2010-11-19今天内容:ARM汇编和C
1. 多数据访问存指令:ldm|stm{
2. 模拟压栈操作:常用stmfd, ldmfd