第1章 嵌入式系统基础知识 1
1.1 嵌入式系统的定义和组成 1
1.1.1 嵌入式系统的定义 1
1.1.2 嵌入式系统发展概述 2
1.1.3 嵌入式系统的组成 5
1.1.4 实时系统 12
1.2 嵌入式微处理器体系结构 17
1.2.1 冯·诺依曼与哈佛结构 17
1.2.2 CISC与RISC 18
1.2.3 流水线技术 23
1.2.4 信息存储的字节顺序 25
1.3 嵌入式系统的硬件基础 28
1.3.1 组合逻辑电路基础 28
1.3.2 时序逻辑电路 35
1.3.3 总线电路及信号驱动 39
1.3.4 电平转换电路 47
1.3.5 可编程逻辑器件基础 51
1.4 嵌入式系统中信息表示与运算基础 61
1.4.1 进位计数制与转换 61
1.4.2 计算机中数的表示 62
1.4.3 非数值数据编码 65
1.4.4 差错控制编码 70
1.5 嵌入式系统的性能评价 77
1.5.1 度量项目 77
1.5.2 评价方法 79
1.5.3 评估嵌入式系统处理器的主要指标 81
第2章 嵌入式微处理器与接口知识 83
2.1 嵌入式微处理器的结构和类型 83
2.1.1 嵌入式微处理器的分类 83
2.1.2 典型8位微处理器的结构和特点 86
2.1.3 典型16位微处理器的结构和特点 94
2.1.4 典型32位微处理器的结构和特点 97
2.1.5 DSP处理器的结构和特点 112
2.1.6 多核处理器的结构和特点 118
2.2 嵌入式系统的存储体系 124
2.2.1 存储器系统概述 124
2.2.2 嵌入式系统存储设备分类 132
2.2.3 ROM的种类与选型 135
2.2.4 Flash Memory的种类与选型 137
2.2.5 RAM的种类与选型 141
2.2.6 外部存储器的种类与选型 145
2.3.1 嵌入式系统常用输入/输出设备概述 151
2.3 嵌入式系统输入输出设备 151
2.3.2 GPIO原理与结构 153
2.3.3 A/D接口基本原理与结构 154
2.3.4 D/A接口基本原理与结构 159
2.3.5 键盘接口基本原理与结构 161
2.3.6 显示接口基本原理与结构 164
2.3.7 触摸屏接口基本原理与结构 173
2.3.8 音频接口基本原理与结构 177
2.4 嵌入式系统总线接口 179
2.4.1 串行接口基本原理与结构 179
2.4.2 并行接口基本原理与结构 185
2.4.3 PCI接口基本原理与结构 187
2.4.4 USB接口基本原理与结构 189
2.4.5 SPI接口基本原理与结构 193
2.4.6 IIC接口基本原理与结构 195
2.4.7 PCMCIA接口基本原理与结构 198
2.5 嵌入式系统网络接口 199
2.5.1 以太网接口基本原理与结构 199
2.5.2 CAN总线接口的基本原理与结构 204
2.5.3 xDSL接口基本原理与结构 209
2.5.4 无线以太网基本原理与结构 213
2.5.5 蓝牙接口基本原理与结构 215
2.5.6 1394接口基本原理与结构 219
2.6 嵌入式系统电源 222
2.6.1 电源接口技术 222
2.6.2 电源管理技术 223
2.7 电子电路设计基础 227
2.7.1 电路设计 227
2.7.2 PCB电路设计 229
2.7.3 电子设计 236
2.7.4 电子电路测试 241
3.1.1 嵌入式软件概述 246
3.1 嵌入式软件基础 246
第3章 嵌入式系统软件及操作系统知识 246
3.1.2 嵌入式软件分类 247
3.1.3 嵌入式软件的体系结构 247
3.1.4 设备驱动层 251
3.1.5 嵌入式中间件 253
3.2 嵌入式操作系统概述 254
3.2.1 嵌入式操作系统的概念 254
3.2.2 嵌入式操作系统的分类 255
3.2.3 常见的嵌入式操作系统 258
3.3.1 多道程序技术 261
3.3 任务管理 261
3.3.2 进程、线程和任务 262
3.3.3 任务的实现 270
3.3.4 任务的调度 277
3.3.5 实时系统调度 286
3.3.6 任务间的同步与互斥 290
3.3.7 任务间通信 299
3.4 存储管理 301
3.4.1 存储管理概述 301
3.4.2 实模式与保护模式 302
3.4.3 分区存储管理 305
3.4.4 地址映射 311
3.4.5 页式存储管理 315
3.4.6 虚拟存储管理 321
3.5 设备管理 328
3.5.1 设备管理基础 328
3.5.2 I/O控制方式 329
3.5.3 I/O软件 332
3.6 文件系统 335
3.6.1 嵌入式文件系统概述 335
3.6.2 文件和目录 336
3.6.3 文件系统的实现 338
第4章 嵌入式软件程序设计 343
4.1 嵌入式软件开发概述 343
4.1.1 嵌入式应用开发过程 343
4.1.2 嵌入式软件开发的特点 343
4.1.3 嵌入式软件开发的挑战 345
4.2 嵌入式程序设计语言 346
4.2.1 程序设计语言概述 346
4.2.2 汇编语言 351
4.2.3 面向过程的语言 355
4.2.4 面向对象的语言 362
4.2.5 汇编、编译与解释程序的基本原理 367
4.3 嵌入式软件开发环境 374
4.3.1 宿主机、目标机 375
4.3.2 嵌入式软件开发工具 376
4.3.3 集成开发环境 384
4.4 嵌入式软件开发 388
4.4.1 嵌入式平台选型 388
4.4.2 软件设计 390
4.4.3 嵌入式程序设计 396
4.4.4 编码 399
4.4.5 测试 402
4.4.6 下载和运行 410
4.5 嵌入式软件移植 412
4.5.1 无操作系统的软件移植 412
4.5.2 有操作系统的软件移植 413
4.5.3 应用软件的移植 415
第5章 嵌入式系统开发与维护知识 417
5.1 系统开发过程及其项目管理 417
5.1.1 系统开发生命周期各阶段的目标和任务的划分方法 417
5.1.2 系统开发项目管理基础知识及其常用管理工具使用方法 421
5.1.3 系统开发工具与环境知识 425
5.2 系统分析基础知识 435
5.2.1 系统分析的目的和任务 435
5.2.2 用户需求 436
5.2.3 系统需求 438
5.2.4 系统规格说明书的编写方法 443
5.3 系统设计知识 447
5.3.1 传统的系统设计方法 447
5.3.2 实时系统分析与设计 449
5.3.3 软硬件协同设计方法 452
5.4.1 系统架构设计 461
5.4 系统实施知识 461
5.4.2 系统详细设计 472
5.4.3 系统测试 475
5.5 系统维护知识 480
5.5.1 系统运行管理 480
5.5.2 系统维护知识 484
5.5.3 系统评价知识 487
第6章 嵌入式系统设计 490
6.1 嵌入式系统设计的特点 490
6.2 嵌入式系统的设计流程 492
6.2.1 产品定义 494
6.2.2 嵌入式系统的软硬件划分 495
6.2.3 嵌入式系统硬件设计 496
6.2.4 嵌入式系统的软件设计 498
6.2.5 系统集成和测试 503
6.3 设计示例:嵌入式数控系统 503
6.3.1 数控系统简介 505
6.3.2 需求分析 505
6.3.3 系统体系结构设计 506
6.3.4 硬件设计 509
6.3.5 软件设计 521
6.3.6 系统集成与测试 527