一、安装u-boot到开发板
二、安装jlink,选择402d版本,(软件工具目录下),判断安装是否成功(显示connect ARM11)
三、汇编结构:AREA Example,CODE,READONLY ;声明代码段入口
ENTRY ;标识程序
CODE32 ;声明32位ARM指令
START
END
四、RVDS(codewarrior ,AXD,)软件配置(setting)
五、ARM11的工作模式
1、 ARM状态(32位)字对齐,存储空间4GB
Thumb状态(16位)半字对齐,
2、小端格式(small endian) :高地址存放逻辑高字节,低地址存放逻辑低字节
大端格式(big endian):高地址存放逻辑低字节,低地址存放逻辑高字节
3、指令长度:n字节代表n的倍数开始存放放数据
4、用户模式(usr)、非用户模式(系统模式(sys)、异常模式(FIQ、IRQ、abt、svc、und))
5、工作模式的切换:1、软件处理 2、外部中断或者异常
六、寄存器分类
1、37个寄存器:31个通用寄存器和6个状态寄存器
31个通用寄存器:用户模式和系统模式:R0-R14(15个)、PC(1个)
FIQ:R8-R14(7个)
IRQ:R13-R14(2个)
abt:R13-R14(2个)
svc:R13-R14(2个)
und:R13-R14(2个)
状态寄存器:(CPSR和SPSR(暂存CPSR))
2、不分组寄存区(R0-R7)
分组寄存器(R8-R14)
程序计数器(R15 )PC指针
R13:存放堆栈指针SP
R14:子程序链接指针CR(存放断点位置地址)
七、ARM寻址方式
1、立即寻址 ADD R0,R0,#1
2、寄存器寻址 ADD R0,R1,R2
3、寄存器间接寻址 ADD R0,R1,R[2]
4、基址加变址寻址 LDR R0,[R1,#4] LDR R0,[R1,#4]!
5、多寄存器寻址
6、相对寻址 BL跳转,地址标号为偏移地址
7、栈寻址 (递增和递减) 满堆栈和空堆栈