ARM设计基础
来源:互联网 发布:收费软件怎么安装 编辑:程序博客网 时间:2024/06/06 23:26
一、安装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、栈寻址 (递增和递减) 满堆栈和空堆栈
- ARM设计基础
- ARM基础
- ARM基础
- ARM基础
- ARM基础
- arm基础
- arm基础
- ARM基础
- arm的基础概念
- ARM基础(1)
- ARM程序设计基础
- ARM程序设计基础
- ARM基础(1)
- ARM基础(2)
- arm体系结构基础测试
- ARM程序设计基础
- ARM汇编基础
- linux arm mmu基础
- P07: 有依赖的背包问题
- 程显峰:应届毕业生简历的常见问题
- Android开发:EditText和ListView或GridView同时使用,输入法自动跳出来的 解决办法
- 不会再说没关系了,真的不说了。
- C++STL之string
- ARM设计基础
- 不会再说没关系了,真的不说了。
- 不会再说没关系了,真的不说了。
- P08: 泛化物品
- 搜索引擎开发笔记二
- 不会再说没关系了,真的不说了。
- P09: 背包问题问法的变化
- QIPAIFANS网站程序【2013最新版】
- 百度实习生招聘的一道大数据处理题目(上)