第一章 ARM概述与开发环境 1
1.1嵌入式系统的概念 1
嵌入式系统与ARM的关系 1
嵌入式系统与嵌入式操作系统的关系 2
嵌入式系统的研发特点 2
1.2 ARM发展历程及应用领域 3
ARM发展历程及命名规则 3
ARM微处理器系列 4
ARM微处理器应用领域 9
1.3 ARM芯片级开发环境 9
仿真环境建设 10
程序仿真实例与解释 13
本章小结 17
第二章 ARM体系结构与接口电路 18
2.1 ARM微处理器工作模式 18
2.2 ARM寄存器 19
通用寄存器 20
程序状态寄存器 21
PC与指令流水线 23
2.3 ARM异常 23
复位异常 25
中断请求异常 25
快速中断请求异常 26
软件中断异常 27
数据中止异常 27
预取指令异常 27
未定义指令异常 28
异常返回地址 28
2.4 S3C2410存储器配置及接口电路设计 29
存储格式 29
映射存储空间 30
NOR型FLASH接口电路设计 35
NAND型FLASH接口电路设计 38
SDRAM接口电路设计 39
2.5 S3C2410外设接口电路设计 42
片上外设及其映射寄存器 42
LED接口电路设计 44
LCD接口电路设计 48
触摸屏接口电路设计 50
串口接口电路设计 51
USB接口电路设计 52
SD卡接口电路设计 53
鼠标和键盘接口电路设计 53
本章小结 54
第三章 ARM指令表 55
3.1 ARM指令学习程序框架 55
3.2 ARM指令格式 56
3.3 ARM指令寻址方式 58
数据处理操作数寻址 58
字与无符号字节存储/装入寻址 61
双字与半字及有符号字节存储/装入寻址 65
寄存器批量存储/装入寻址 67
协处理器存储/装入寻址 70
3.4 ARM指令汇总 72
赋值指令 72
算术运算指令 73
跳转指令 80
比较指令 81
逻辑运算指令 82
CPSR访问指令 85
内存访问指令 86
软中断指令 95
协处理器指令 95
ARM伪指令 97
本章小结 99
第四章 ARM存储系统及其配置 100
4.1 RealView MDK仿真环境建设 100
开发平台建设 100
第一个MDK工程 101
硬仿真环境设置 104
编译配置 105
在线仿真 108
4.2 Nand Flash启动配置 109
4.3 SDRAM配置 112
MDK启动代码配置SDRAM 112
自定义SDRAM配置代码 117
堆和栈 120
4.4 CP15协处理器 125
CP15协处理器寄存器汇总 125
寄存器c0 126
寄存器c13 129
寄存器c1 130
寄存器c2 131
寄存器c3 131
寄存器c5 131
寄存器c6 131
寄存器c8 131
寄存器c10 132
4.5 MMU配置 132
MMU工作原理 132
地址转译 134
本章小结 137
第五章 汇编语言程序设计及系统初始化 138
5.1 ARM汇编语言程序框架 138
通用输入输出C口配置 140
工程ex5_1的注解及运行情况 147
汇编语言语法 150
5.2浮点数据处理 152
计算基础 152
数值定标 152
程序代码及结果分析 153
5.3系统初始化 159
启动代码S3C2410A.s 159
初始化代码zyboot.s 172
5.4中断服务程序 185
硬件基础 185
EINT2外部中断及其程序设计 186
SWI中断及其注意事项 192
本章小结 193
第六章 C语言程序设计 194
6.1 C程序框架实例 194
跑马灯工程设计 194
跑马灯程序解释 199
C程序框架 201
6.2 SDRAM重定位技术 203
6.3 C语言语法 205
数据类型 205
常用运算符 207
程序控制语句 211
C语言函数 215
演示实例一 216
演示实例二 219
6.4混合语言程序设计 223
C函数嵌套汇编语句 223
C函数调用汇编子程序 226
6.5中断服务程序设计 236
异常入口配置 237
SWI中断 239
看门狗中断 244
本章小结 248
第七章 ARM接口程序设计 249
7.1 LED显示控制 249
看门狗定时器秒表 249
定时器1秒表 252
7.2 K9F1208访问技术 256
K9F1208U0C 256
K9F1208读设计 258
K9F1208 Boot设计 263
7.3串口通信 282
串口配置 282
串口收发程序 283
串口中断编程 286
本章小结 291
附录一 S3C2410专用寄存器地址 292
附录二 S3C2410专用寄存器描述 300
附2.1 存储器配置寄存器 300
附2.2 NAND FLASH寄存器 304
附录三 S3C2410芯片管脚 306
附录四 启动代码文件S3C2410A.s 313