第1章 嵌入式系统概论 1
1.1 系统概述 1
1.1.1 嵌入式系统的定义和特征 1
1.1.2 嵌入式系统的应用领域及发展趋势 2
1.2 嵌入式系统组织结构 4
1.2.1 嵌入式系统总体架构 4
1.2.2 嵌入式硬件系统结构 4
1.2.3 嵌入式硬件系统中采用的先进技术 11
1.3 嵌入式软件系统 14
1.3.1 系统概述 14
1.3.2 嵌入式操作系统 17
1.3.3 常用的嵌入式操作系统 22
习题与思考题一 25
第2章 嵌入式微处理器 28
2.1 概述 28
2.1.1 ARM体系结构版本、命名规则 29
2.1.2 嵌入式微处理器系列产品 32
2.2 ARM微处理器组成结构与工作原理 35
2.2.1 微处理器结构组成 35
2.2.2 微处理器的工作状态与工作模式 37
2.2.3 微处理器的寄存器组织 39
2.2.4 异常中断模式处理过程 43
2.3 ARM存储器存储方式与映射机制 46
2.4 常用的嵌入式处理器简介 49
2.4.1 ARM9系列 S3C2440微处理器 49
2.4.2 ARM系列Cortex处理器 61
习题与思考题二 67
第3章 嵌入式系统开发环境与开发技术 70
3.1 概述 70
3.2 嵌入式系统开发技术 71
3.2.1 集成开发环境 72
3.2.2 系统软件开发工具 83
3.3 嵌入式系统调试技术 88
3.3.1 ARM交叉调试及固化技术 88
3.3.2 嵌入式软件的测试 90
3.4 嵌入式系统的引导程序 91
3.4.1 BootLoader的职能 92
3.4.2 BootLoader的操作模式 93
3.4.3 BootLoader的程序结构与调试 94
3.4.4 BootLoader的应用实例 95
习题与思考题三 102
第4章 嵌入式指令集系统与程序设计 103
4.1 ARM指令集及应用 103
4.1.1 概述 103
4.1.2 ARM指令集的编码格式 104
4.1.3 ARM指令的数据寻址方式 105
4.1.4 ARM指令的分类说明及应用 106
4.2 Thumb指令集简介 110
4.2.1 概述 110
4.2.2 Thumb-2指令集简介 111
4.3 ARM汇编语言及程序设计 111
4.3.1 ARM汇编语言 111
4.3.2 ARM汇编语言程序设计 114
4.4 嵌入式C语言编程简介 118
4.5 嵌入式C与ARM汇编语言混合编程 120
4.5.1 内嵌汇编 120
4.5.2 汇编程序中访问C程序变量 122
4.5.3 C程序和汇编程序之间的相互调用 123
习题与思考题四 125
第5章 嵌入式系统设计与应用 128
5.1 系统设计原则与设计步骤 128
5.2 系统核心电路设计 131
5.2.1 微处理器芯片的选型 131
5.2.2 电源管理设计 131
5.2.3 存储系统设计 132
5.3 系统接口电路设计与应用 136
5.3.1 通用接口GPIO 136
5.3.2 系统异常中断处理方式 139
5.3.3 A/D转换接口 142
5.3.4 数字音频设备接口 146
5.4 人机交互设备接口设计与应用 147
5.4.1 键盘接口 147
5.4.2 显示器接口 147
5.4.3 触摸屏接口 152
5.5 串行数据通信接口设计与应用 159
5.5.1 串行通信原理 159
5.5.2 串行通信接口设计与应用 163
5.6 无线通信接口设计与应用 172
5.6.1 蓝牙通信技术 173
5.6.2 ZigBee通信技术 175
5.6.3 无线局域网Wi-Fi技术 177
5.6.4 第2、3、4和5代通信技术简介 178
5.7 卫星定位系统 181
习题与思考题五 185
第6章 μC/OS-II操作系统及应用 188
6.1 μC/OS操作系统概述 188
6.2 μC/OS-II系统 191
6.2.1 μC/OS-II内核结构 192
6.2.2 μC/OS-II内核源代码解析 192
6.2.3 μC/OS-II任务及其创建 195
6.2.4 μC/OS-II任务状态及其调度 196
6.3 μC/OS-II系统移植 197
6.3.1 μC/OS-II移植条件 197
6.3.2 μC/OS-II的移植步骤 198
6.4 基于μC/OS-II的应用开发 204
6.4.1 应用程序结构的建立 204
6.4.2 μC/OS-II的API 205
6.4.3 绘图函数及应用 206
习题与思考题六 214
第7章 嵌入式Linux操作系统及应用 215
7.1 嵌入式Linux操作系统概述 215
7.2 嵌入式Linux内核及其工作原理 217
7.2.1 嵌入式Linux内核 217
7.2.2 嵌入式Linux启动过程 220
7.2.3 嵌入式linux文件系统 221
7.3 嵌入式Linux内核定制与编译 224
7.3.1 交叉编译环境 224
7.3.2 内核定制及裁剪说明 225
7.3.3 编译内核 243
7.3.4 制作文件系统映像 243
7.4 嵌入式Linux驱动及应用开发 244
7.4.1 设备驱动程序概述 244
7.4.2 驱动程序结构 245
7.4.3 设备注册和初始化 246
7.4.4 驱动程序案例 247
习题与思考题七 249
第8章 Android操作系统及应用 250
8.1 Android 操作系统简介 250
8.2 Android操作系统的体系结构 250
8.3 Android开发工具 252
8.3.1 基于Eclipse + ADT的开发环境搭建 252
8.3.2 基于Android Studio的环境搭建 255
8.4 基于ANDROID操作系统的应用开发 256
习题与思考题八 262
第9章 嵌入式系统开发应用实例 263
9.1 概述 263
9.2 硬件系统设计 264
9.2.1 核心板结构组成 265
9.2.2 系统平台主板结构组成 266
9.3 软件系统设计 273
9.3.1 系统软件需求分析与设计 273
9.3.2 用户应用程序设计 273
9.3.3 综合实训平台应用实例简介 279
参考文献 281