第1章 嵌入式系统概述 1
1.1引言 1
1.2嵌入式系统的概述 2
1.2.1嵌入式系统的定义 3
1.2.2嵌入式系统组成 4
1.2.3嵌入式系统的特点 6
1.2.4嵌入式系统应用 7
1.3嵌入式处理器 9
1.3.1嵌入式处理器的组成 9
1.3.2嵌入式处理器的分类 10
1.3.3典型的嵌入式处理器 12
1.3.4嵌入式处理器的性能指标 15
1.4嵌入式操作系统 16
1.4.1嵌入式操作系统简介 16
1.4.2嵌入式操作系统的种类 17
1.4.3实时操作系统的相关概念 19
1.4.4几种典型的嵌入式操作系统 21
1.5嵌入式系统开发 24
1.5.1嵌入式系统开发过程 24
1.5.2常用的设计流程模型 27
1.5.3嵌入式系统的开发环境及调试方法 29
本章小结 32
习题1 33
第2章ARM技术及体系结构 34
2.1嵌入式ARM处理器概况 34
2.1.1 ARM体系的版本说明 34
2.1.2 ARM内核的命名 36
2.1.3常用ARM处理器系列介绍 37
2.2 ARM处理器技术 41
2.2.1 RISC技术 41
2.2.2流水线技术 42
2.2.3哈佛结构 44
2.2.4 AMBA总线技术 45
2.2.5 ARM处理器的调试跟踪技术 47
2.3 ARM7处理器结构 49
2.3.1 ARM7TDMI内部构成 49
2.3.2 ARM7TDMI内核结构 50
2.3.3 ARM7TDMI处理器模块接口信号 51
2.3.4 ARM7xxT模块功能图 52
2.4 ARM7TDMI的工作状态及模式 52
2.4.1 ARM处理器的工作状态 52
2.4.2 ARM处理器模式 53
2.5 ARM7内部寄存器 54
2.5.1 ARM状态下的寄存器组织 55
2.5.2 Thumb状态下的寄存器组织 58
2.5.3程序状态寄存器 60
2.6 ARM体系的异常处理 62
2.6.1异常优先级 62
2.6.2异常向量表 63
2.6.3异常中断的进入与退出 63
2.6.4 ARM中的异常处理 64
2.6.5异常中断延时计算 67
2.7 ARM体系的存储方式 68
2.7.1数据存储格式 68
2.7.2非对齐的存储器访问 69
本章小结 70
习题2 71
第3章ARM7TDMI指令系统 72
3.1 ARM7TDMI指令集概述 72
3.1.1 ARM指令分类 72
3.1.2指令格式 73
3.1.3指令的条件域 75
3.1.4第2个操作数的三种形式 76
3.2 ARM指令的寻址方式 77
3.3 ARM指令集介绍 81
3.3.1数据处理指令 81
3.3.2乘法指令 87
3.3.3分支指令 90
3.3.4程序状态寄存器访问指令 92
3.3.5 ARM软中断指令 94
3.3.6 ARM存储器访问指令 95
3.3.7 ARM协处理器操作指令 103
3.3.8 ARM伪指令 105
3.4 Thumb指令集 108
3.4.1 Thumb数据处理指令 109
3.4.2 Thumb分支指令 110
3.4.3 Thumb软中断指令 110
3.4.4 Thumb存储器访问指令 111
本章小结 112
习题3 113
第4章ARM7汇编语言程序设计 115
4.1 ARM7汇编语言程序结构格式 115
4.1.1汇编语言的基本概念 115
4.1.2 ARM7汇编语言程序框架 117
4.2 ARM7汇编语言程序中的符号 119
4.2.1符号命名规则 119
4.2.2常量 119
4.2.3变量 120
4.3 ARM7汇编器伪指令 120
4.3.1符号定义伪指令 120
4.3.2数据定义伪指令 121
4.3.3 ARM7汇编控制伪指令 125
4.3.4杂项汇编器伪指令 128
4.4 ARM7汇编语言程序的上机过程 131
4.4.1 ARM7汇编语言程序的设计步骤 131
4.4.2编辑汇编语言源程序 132
4.4.3联编汇编语言源程序 135
4.4.4调试可执行映像文件 136
4.5 ARM7汇编语言程序设计 137
4.5.1汇编语言程序设计的步骤 137
4.5.2顺序程序设计 139
4.5.3分支程序设计 139
4.5.4循环程序设计 142
4.5.5子程序设计 147
4.6 C语言和ARM7汇编语言的混合/交叉编程 149
4.6.1 ARM7汇编语言与C语言间的模块接口 149
4.6.2 ARM7汇编程序与C程序间变量互访 150
4.6.3 ARM7汇编程序调用C程序 152
4.6.4 C程序调用汇编程序 152
4.6.5 C程序中内嵌ARM7汇编代码 154
本章小结 155
习题4 155
第5章LPC2000系列微处理器组成与中断技术 157
5.1 LPC2000系列ARM简介 157
5.1.1 LPC2100系列芯片 158
5.1.2 LPC2200系列芯片 158
5.2芯片内部结构 162
5.3存储器结构 163
5.3.1存储器映射 163
5.3.2片内存储器 164
5.3.3片外存储器 165
5.3.4存储器的重映射 166
5.3.5系统启动代码简介 169
5.4系统控制模块 170
5.4.1时钟系统 170
5.4.2功率控制 176
5.4.3复位 178
5.5中断技术 180
5.5.1中断概念 180
5.5.2中断源及管理 181
5.5.3中断处理过程 183
5.6向量中断控制器 184
5.6.1向量中断分类 184
5.6.2向量中断结构 185
5.6.3向量中断寄存器 187
5.6.4向量中断的处理过程 188
5.6.5向量中断的示例 189
本章小结 191
习题5 191
第6章LPC2000系列微处理器外设接口 192
6.1引脚功能选择 192
6.1.1管脚功能选择寄存器PINSEL0和PINSEL1 192
6.1.2管脚功能选择寄存器PINSEL2 194
6.2 GPIO原理及应用 195
6.2.1GPIO相关寄存器 196
6.2.2 GPIO应用 196
6.3外部中断输入 198
6.3.1概述 198
6.3.2 LPC2000系列外部中断相关寄存器与设置 199
6.3.3 LPC2000的外中断应用 201
6.4定时计数电路 203
6.4.1分频与计数模块 203
6.4.2匹配控制模块 205
6.4.3捕获控制模块 206
6.4.4定时器中断 208
6.4.5定时器/计数器应用 209
6.5 UART串行接口 211
6.5.1串行通信概述 211
6.5.2 LPC2000器件UART电路组成 215
6.5.3 UART寄存器描述 218
6.5.4 UART应用 223
6.6片上其他一些常用接口 226
6.6.1 SPI接口 226
6.6.2 I2C接口 230
6.6.3 A/D转换器 234
6.6.4 WTD看门狗 237
6.6.5脉宽调制PWM 239
6.6.6实时时钟RTC 241
本章小结 242
习题6 243
第7章ARM系列芯片的外围电路设计 244
7.1嵌入式硬件系统模块 244
7.1.1最小系统结构 245
7.1.2电源电路 245
7.1.3时钟电路 247
7.1.4复位电路 247
7.1.5存储器系统 248
7.2存储器电路与设计 248
7.2.1嵌入式系统中存储器的分类 248
7.2.2 SRAM接口 250
7.2.3 SDRAM接口 253
7.2.4 PSRAM接口 256
7.2.5 NAND Flash接口 258
7.2.6 NOR Flash接口 261
7.2.7存储器与ARM的连接 263
7.3键盘输入模块 265
7.3.1键盘工作原理 265
7.3.2键盘的硬件电路 266
7.3.3键盘的驱动 267
7.4显示输出模块 268
7.4.1 7段数码管的工作原理 268
7.4.2 LCD的工作原理 270
7.5串行通信模块 275
本章小结 277
习题7 277
第8章 嵌入式软件开发技术 278
8.1嵌入式软件概述 278
8.1.1嵌入式软件的特点 278
8.1.2嵌入式软件的分类 279
8.1.3嵌入式软件开发流程 280
8.1.4嵌入式软件的开发方法 280
8.2嵌入式软件的体系结构 282
8.2.1硬件抽象层 283
8.2.2操作系统层 286
8.2.3协议层 287
8.2.4应用层 288
8.3硬件抽象层的设计 288
8.3.1嵌入式系统的启动流程 289
8.3.2操作系统的加载 294
8.3.3 U-BOOT的代码分析 296
8.4嵌入式操作系统 301
8.4.1嵌入式操作系统移植 302
8.4.2μC/OS-Ⅱ操作系统 304
8.4.3嵌入式Linux操作系统 312
本章小结 318
习题8 319
第9章 嵌入式系统设计及应用 320
9.1系统概述 320
9.2停车场管理系统总体设计 322
9.2.1系统分析 322
9.2.2系统组成 324
9.2.3系统设计 327
9.3管理工作站子系统开发 331
9.3.1软硬件开发平台 331
9.3.2嵌入式Linux系统下的开发 332
9.3.3嵌入式Web设计 337
9.3.4嵌入式SQLite数据库开发 341
9.3.5 SNMP代理模块设计 343
9.3.6网络通信模块设计 353
9.4入口硬件设计 355
9.4.1 LPC2200开发板硬件介绍 355
9.4.2非接触式IC卡 361
9.4.3车辆检测器 365
9.4.4车位显示控制器 366
本章小结 367
习题9 368
参考文献 369