第1章 嵌入式系统概论 1
1.1 嵌入式系统及其应用 1
1.1.1 嵌入式系统 1
1.1.2 嵌入式系统的组成与分类 3
1.1.3 SoC芯片 12
1.2 嵌入式系统与数字媒体 19
1.2.1 数字(电子)文本 19
1.2.2 数字图像 23
1.2.3 数字音频与数字视频 26
1.3 数字通信与计算机网络 29
1.3.1 数字通信 29
1.3.2 计算机网络 34
1.3.3 互联网 38
小结 44
自测题 45
第2章 嵌入式处理器 47
2.1 嵌入式处理器概述 47
2.1.1 嵌入式处理器的结构类型 47
2.1.2 嵌入式处理器简介 49
2.1.3 ARM处理器概述 50
2.2 典型ARM处理器介绍 53
2.2.1 ARM处理器的分类 53
2.2.2 经典ARM处理器 54
2.2.3 ARM Cortex嵌入式处理器 55
2.2.4 ARM Cortex实时嵌入式处理器 57
2.2.5 ARM Cortex应用处理器 58
2.3 ARM处理器体系结构 59
2.3.1 ARM处理器的工作状态及工作模式 59
2.3.2 ARM处理器的寄存器组织 61
2.3.3 ARM处理器的异常 63
2.3.4 ARM的存储器格式及数据类型 65
2.3.5 ARM处理器中的MMU和MPU 67
2.4 ARM处理器指令集 68
2.4.1 ARM指令分类及指令格式 68
2.4.2 ARM指令的寻址方式 73
2.4.3 ARM指令集 75
2.4.4 Thumb指令集 83
2.4.5 ARM处理器支持的伪指令 83
2.5 ARM汇编语言程序设计 85
2.5.1 ARM汇编器所支持的伪指令 85
2.5.2 ARM汇编语言的语句格式 89
2.5.3 汇编语言的程序设计举例 91
2.5.4 嵌入式C语言与汇编语言混合程序设计 99
小结 103
自测题 105
第3章 嵌入式系统硬件组成 108
3.1 嵌入式系统硬件组成概述 108
3.1.1 嵌入式最小硬件系统 108
3.1.2 基于ARM内核的典型嵌入式应用系统硬件组成 111
3.2 嵌入式处理芯片 111
3.2.1 ARM的AMBA总线体系结构及标准 112
3.2.2 基于ARM内核的嵌入式芯片的硬件组成 114
3.2.3 常用ARM嵌入式处理芯片 117
3.2.4 嵌入式处理芯片的选型 121
3.3 嵌入式系统的存储器 123
3.3.1 存储器层次结构 123
3.3.2 存储器分类 124
3.3.3 存储器主要性能指标 126
3.3.4 片内存储器 128
3.3.5 片外存储器 129
3.3.6 外部辅助存储设备 134
3.4 I/O接口及常用I/O设备 136
3.4.1 通用I/O接口GPIO 136
3.4.2 集成电路互连总线接口I2C 137
3.4.3 串行外设接口SPI 139
3.4.4 串行异步通信接口UART 141
3.4.5 通用串行总线USB 143
3.4.6 高清多媒体接口HDMI 145
3.4.7 常用简单输入设备 146
3.4.8 常用简单输出设备 148
3.5 ARM内核典型嵌入式处理芯片 152
3.5.1 S3C2410/S3C2440芯片的内部结构 152
3.5.2 S3C2410的存储器控制组件 154
3.5.3 S3C2410的时钟及电源管理组件 155
3.5.4 S3C2410的中断控制器及中断控制 156
3.5.5 S3C2410的脉宽调制定时计数器PWM Timer 159
3.5.6 S3C2410的实时时钟RTC 166
3.5.7 S3C2410的通用I/0接口GPIO 169
3.5.8 S3C2410的串行异步通信接口UART 176
3.5.9 S3C2410的I2C总线接口 179
3.5.10 S3C2410的看门狗定时器WDT 183
3.5.11 S3C2410的模数转换器ADC 185
3.6 嵌入式系统外部通信接口 187
3.6.1 基于UART的RS-232/RS-485接口 187
3.6.2 CAN总线接口 188
3.6.3 以太网通信接口 191
3.6.4 常用无线通信接口 192
小结 195
自测题 195
第4章 嵌入式系统软件 200
4.1 嵌入式系统的软件组成 200
4.1.1 嵌入式软件的特点 200
4.1.2 嵌入式系统的软件结构 201
4.1.3 硬件抽象层与板级支持包 205
4.1.4 引导加载程序 208
4.1.5 嵌入式系统的设备驱动程序 212
4.2 嵌入式操作系统 215
4.2.1 实时系统与实时操作系统 215
4.2.2 嵌入式操作系统概述 219
4.2.3 Linux内核 226
4.2.4 嵌入式Linux操作系统 228
4.2.5 Android操作系统 234
4.2.6 iOS操作系统 239
4.3 μC/OS嵌入式操作系统 242
4.3.1 μC/OS操作系统概述 242
4.3.2 μC/OS-Ⅱ的任务及其管理 244
4.3.3 μC/OS-Ⅱ的系统服务 248
4.3.4 μC/OS-Ⅱ应用程序设计 254
4.3.5 μC/OS-Ⅲ操作系统的改进与提高 260
小结 261
自测题 261
第5章 嵌入式系统的开发 263
5.1 开发嵌入式系统的基础知识 263
5.1.1 嵌入式系统的开发过程 263
5.1.2 嵌入式系统的开发平台与工具 267
5.1.3 嵌入式系统的调试 271
5.2 系统开发工具软件 277
5.2.1 ADS 1.2工具软件 277
5.2.2 RVDS 288
5.2.3 GNU 290
5.3 系统开发示例 295
5.3.1 数字式电子钟 295
5.3.2 便携式心电记录仪 305
5.3.3 基于嵌入式Web服务器的应用设计 316
小结 324
自测题 325
附录1 全国计算机等级考试三级嵌入式系统开发技术考试大纲(2013年版) 328
附录2 全国计算机等级考试三级嵌入式系统开发技术样题及参考答案 330
附录3 自测题答案 332
参考资料 334