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、栈寻址   (递增和递减) 满堆栈和空堆栈

原创粉丝点击