ARM体系结构与编程 书

时间:2021-04-27 19:08:11

第一章 ARM概述和基本编程模型。

7种运行模式:用户,快速中断,外部中断,特权,abort,undefined,系统模式。37个寄存器:31通用寄存器(未备份0~7,备份8~14,R8、R9有用户和快速两种,栈 R13,连接寄存器R14,PC 即R15),6个状态寄存器(程序状态寄存器CPSR,每种模式下的备份程序状态寄存器SPSR)。

复位,SWI软件中断(用户定义的中断指令,实现系统调用)等中断。

中断响应及返回过程,大小端。

第二章 ARM指令分类和寻址方式。

指令分6类:跳转,数据处理,程序状态寄存器传输指令,load/store指令,协处理器指令,异常中断产生指令。

指令语法格式:<opcode>{<cond>}{S}<Rd>,<Rn>,<shipter_operand>

                              助记符      条件      影响  目标R,第一个R,第二个操作数

16个条件码。相等,不等,大小,溢出,正负,无条件执行等。

寻址方式。

数据处理指令的操作数寻址方式:立即数方式,寄存器方式,寄存器移位方式。

字及无符号字节的load/store指令的寻址方式,杂类,批量数据传送。

第三章 ARM指令集介绍。一些基本的ARM指令功能段。

4个跳转指令b(跳转指令),bl(带返回的跳转指令),blx(带返回和状态切换的跳转指令),bx(带状态切换的跳转指令)

3个数据处理指令:数据传送如mov,算术逻辑运算,比较指令。

乘法指令,状态寄存器访问指令(MRS状态寄存器到通用寄存器的传送指令,MSR通用寄存器到状态寄存器的传送指令)

存储访问,异常中断产生指令(SWI,BKPT),协处理器指令(CDP协处理器数据操作指令,LDC协处理器数据读取指令,STC协处理器数据写入指令,MCR ARM寄存器到协处理器寄存器的数据传送指令,MRC协处理器寄存器到ARM寄存器的数据传送指令)

功能段:

。。。


第四章 ARM汇编语言程序设计。伪操作,伪指令,汇编程序格式。

第五章 ARM存储系统。用于存储管理的系统控制协处理器CP15,MMU,cache,快速上下文切换。


第六章 ATPCS介绍。

第七章 ARM程序和Thumb程序混合使用。

第八章 C\C++以及汇编语言回合编程。内嵌汇编器,相互调用。

第九章 异常中断处理。进入退出异常中断过程,安装中断处理程序,SWI,FIQ,IRQ异常中断处理程序等。


第十章 ARM C/C++编译器。编译器命令格式,pargmas,支持的数据类型,ARM中的预定义宏,ARM中的C/C++库。

第十一章 ARM连接器。ARM映像文件组成,连接器生成符号,优化,运行时库的使用,从一个映像中使用另一个映像文件中的符号。


第十二章 嵌入式应用程序示例。存储映射,semihosting的c语言程序示例,嵌入式系统示例,rom/ram地址重映射的嵌入式系统应用。

第十三章 使用codewarrior。配置生成项目,工程项目模板等。

第十四章 ARM体系中的调试方法。基于Angel,JTAG的调试系统,ADW的使用。