目录 1
第1章 嵌入式系统介绍 1
1-1 嵌入式系统的概述 2
1-1-1 嵌入式系统的发展历史 3
1-1-2 嵌入式系统的组成 5
1-1-3 嵌入式系统的应用趋势 6
1-2 嵌入式运算 8
1-2-1 使用嵌入式系统的因素 9
1-2-2 嵌入式系统的设计考虑 10
1-2-3 嵌入式系统的设计挑战 11
1-2-4 嵌入式系统设计能力 12
1-3 分布式嵌入式系统 13
1-3-1 具有网络能力的嵌入式系统 15
1-3-2 因特网能力的嵌入式系统 16
1-4 信息家电 16
1-4-1 信息家电的兴起 16
1-4-2 信息家电的产品 18
1-4-3 信息家电的功能 19
学习评测 20
1-5 总结 20
第2章 嵌入式系统的未来战场——数字家庭 23
2-1 无所不在运算 24
2-1-1 材料与制造科技 25
2-1-2 智能型软件设计 26
2-1-3 传感器技术 27
2-1-4 网络合作能力 28
2-2 蓝色家电 29
2-2-1 信息蓝色家电 29
2-2-2 娱乐蓝色家电 32
2-2-3 通信蓝色家电 34
2-2-4 家庭自动化产品 36
2-3 数字家庭的标准 37
2-3-1 标准统合的需求 38
2-3-2 数字家庭产品的技术 38
2-3-3 数字家庭的远景 42
2-4 总结 43
学习评测 43
第3章 嵌入式系统的系统设计 45
3-1-1 设计过程 46
3-1 设计方法论 46
3-1-2 设计流程的方法 48
3-2 需求分析 51
3-3 规格 52
3-4 系统分析与架构设计 56
3-4-1 方块图 56
3-4-2 CRC卡片 57
3-5 设计硬件与软件组件 58
3-7-1 质量保证技术 59
3-7 质量保证 59
3-6 系统集成 59
3-7-2 确认规范 60
3-7-3 设计复审 62
3-7-4 衡量驱动质量保证 63
3-8 总结 64
学习评测 64
第4章 嵌入式系统微处理器 67
4-1 嵌入式系统微处理器的发展 68
4-1-1 8位微处理器 69
4-1-2 16位微处理器 70
4-2 微处理器的基本架构 71
4-1-3 32位以上的微处理器 71
4-3 协同微处理器 72
4-4 精简指令集架构微处理器 72
4-4-1 CISC与RISC架构的比较 73
4-4-2 ARM RISC架构微处理器 73
4-4-3 ARM架构程序模型 75
4-5 数字信号处理器 78
4-5-1 数字信号处理器简介 79
4-5-3 德州仪器公司TMS320 DSP微处理器 80
4-5-2 DSP微处理器的应用 80
4-6 超长指令集微处理器 82
4-7 SoC嵌入式系统微处理器 83
4-7-1 SoC微处理器简介 83
4-7-2 SoC微处理器的设计开发 84
4-7-3 快速的SoC微处理器设计与制造 85
4-8 高级集成型微处理器 86
4-8-1 RISC结合DSP的SoC微处理器 86
4-8-2 Intel PCA个人数字化嵌入式系统 87
4-9 总结 89
学习评测 90
第5章 硬件周边设备 91
5-1 输入/输出设备 92
5-1-1 输入设备 93
5-1-2 输出设备 95
5-2 输出与输入传输接口 96
5-2-1 链表协议 96
5-2-2 并列协议 101
5-2-3 无线协议 101
5-3 内存 103
5-3-1 只读存储器 104
5-3-2 掩模只读存储器 104
5-3-3 一次可编程只读存储器 105
5-3-4 可擦除式可编程只读存储器 106
5-3-5 电子消除式可编程只读存储器 108
5-3-6 随机存取内存 109
5-4 便携式嵌入式系统电源系统 110
5-4-1 便携式嵌入式系统电源的要求 111
5-4-2 智能型电池系统 111
5-5 扩充设备 112
5-5-1 PCMCIA扩充设备 113
5-5-2 CF扩充设备 113
5-5-3 SD扩充设备 114
5-5-4 MS扩充设备 114
5-6 总结 115
学习评测 115
第6章 软硬件接口 117
6-1 微处理器的软硬件接口 118
6-1-1 微处理器的组织与架构 118
6-1-2 微处理器指令集架构 121
6-1-3 微处理器的数据流路径/控制单元 124
6-2 总线架构 129
6-2-1 总线类与协议 129
6-2-2 总线存取方式 131
6-3 直接内存访问 132
6-3-1 直接内存访问原理 132
6-3-2 直接内存访问设计 133
6-4 高速缓存单元 134
6-4-1 高速缓存的原理 134
6-4-2 增加高速缓存的命中率 136
6-5 内存管理单元 138
6-6 寄存器与周边 141
6-6-1 寄存器组件 141
6-6-2 驱动程序与寄存器 144
6-6-3 中断与异常 145
6-7 软硬件接口范例 147
6-7-1 AMBA接口介绍 147
6-7-2 AMBA接口范例 153
6-8 总结 156
学习评测 157
第7章 嵌入式操作系统 159
7-1 嵌入式操作系统概论 160
7-2 进程与线程 164
7-2-1 进程、线程与工作 164
7-2-2 线程的状态 169
7-3 调度 173
7-4 实时系统调度算法 177
7-4-1 实时系统定义 177
7-4-2 固定式优先级调度法——比率单调调度法 178
7-4-3 动态优先级调度法 180
7-5 上下文切换 181
7-6 内部进程通信 185
7-7 内存管理 188
7-7-1 管理内存 188
7-7-2 内存分配 191
7-7-3 虚拟内存 192
7-7-4 内存回收 194
7-8 嵌入式操作系统范例 195
7-8-1 WinCE.Net 196
7-8-2 Symbian OS 198
7-8-3 VxWorks 201
7-8-4 Nucleus 203
7-9 总结 206
学习评测 206
第8章 系统开发、仿真与调试 209
8-1 系统开发流程 210
8-1-1 编译器 211
8-1-2 汇编器 215
8-1-3 链接器 217
8-2 开机程序 222
8-3 硬件抽象层 225
8-3-1 硬件抽象层的定义与任务 225
8-3-2 硬件抽象层的设计 226
8-4 系统仿真 227
8-4-1 软件仿真 227
8-4-2 硬件仿真 230
8-5 系统调试 231
8-5-1 软件调试环境 233
8-5-2 硬件调试环境 234
8-6 总结 236
学习评测 237
第9章 性能评测、程序最佳化与测试 239
9-1 性能评测 240
9-1-1 性能测量 240
9-1-2 分析程序执行时间 241
9-1-3 追踪程序执行 244
9-2 程序最佳化 246
9-2-1 循环最佳化 246
9-2-2 高速缓存最佳化 248
9-2-3 省电最佳化 250
9-2-4 程序空间最佳化 251
9-3 程序测试 252
9-3-1 明箱测试 253
9-3-2 黑箱测试 256
9-3-3 性能测试 257
9-4 总结 257
学习评测 258
第10章 VLSI设计与系统单芯片 261
10-1-1 芯片生产技术概要 262
10-1 芯片生产技术与CMOS VLSI设计 262
10-1-2 CMOS VLSI设计 263
10-2 常见芯片应用种类与设计方法介绍 266
10-2-1 模拟电路、数字电路与混合信号电路分类 266
10-2-2 VLSI设计方法介绍 267
10-2-3 VLSI设计流程 271
10-3 系统单芯片技术 273
10-3-1 系统单芯片开发流程 274
10-3-2 SoC系统架构设计 277
10-4 平台式设计流程及分类 278
10-5 总结 282
学习评测 283
第11章 可编程逻辑系统 285
11-1 IC制造流程与分类 286
11-2 可编程逻辑设备 287
11-3 复杂可编程逻辑设备 289
11-3-1 CPLD基本原理 289
11-3-2 CPLD的硬件架构 291
11-4 现场可编程门数组 294
11-4-1 FPGA的基本原理 294
11-4-2 FPGA的硬件架构 296
11-5 CPLD/FPGA电路开发流程 300
11-5-1 CPLD/FPGA开发环境 300
11-5-2 设计输入 302
11-5-3 项目编辑 304
11-5-4 设备规划 304
11-6 CPLD/FPGA的选择 305
11-7 总结 306
学习评测 306
第12章 软硬件协同设计与验证 309
12-1 软硬件协同设计的现况 310
12-1-1 软硬件协同设计的概念 311
12-1-2 软硬件协同设计流程 312
12-2 系统规范描述语言 314
12-3 系统模型的建立 315
12-3-1 系统模型的用途 315
12-3-2 常见系统模型语言介绍 316
12-4 软硬件分割 322
12-4-1 系统软硬件分割的考虑 322
12-4-2 通过计算机辅助工具进行软硬件分割 324
12-5 软硬件自动组合技术 325
12-6 软硬件协同模拟 326
12-6-1 软件程序的模拟环境 327
12-6-2 硬件电路的模拟环境 327
12-6-3 软硬件协同模拟 328
12-7 现有软硬件协同设计环境介绍 328
12-7-1 VisualSpec介绍 328
12-7-2 System Studio介绍 330
12-8 总结 333
学习评测 333
第13章 系统开发平台实例 335
13-1 如何选择开发平台 336
13-2 ARM Integrator介绍 337
13-2-1 Integrator主机板介绍 337
13-2-2 Integrator核心模块介绍 339
13-2-3 Integrator逻辑模块介绍 341
13-3 ARM Integrator开发环境介绍 342
13-3-1 ARM Development Suite 342
13-3-3 Multi-ICE 344
13-4 ARM Integrator应用开发实例 344
13-3-2 ARM Firmware Suite 344
13-4-1 逻辑模块硬件部分的编译 345
13-4-2 核心模块软件部分的编译与CodeWarrior介绍 347
13-5 Altera Excalibur SOPC开发平台介绍 350
13-5-1 NIOS可程序化CPU 351
13-5-2 ARM 922T介绍 351
13-5-3 Excalibur开发工具包 352
13-6 Altera Excalibur应用开发实例 354
13-6-1 Altera SOPC Builder介绍 354
13-6-2 SOPC Builder操作环境 354
13-6-3 SOPC应用系统的开发 360
13-7 总结 364
学习评测 364
第14章 嵌入式Linux开发环境 367
14-1 Linux系统的发展 368
14-1-1 桌上型Linux系统与嵌入式Linux系统 369
14-1-2 具有MMU与non-MMU系统 370
14-1-3 嵌入式Linux的产品 371
14-2 嵌入式Linux的发展环境 372
14-2-2 开机流程 373
14-2-1 跨平台编译环境 373
14-2-3 设置核心 374
14-2-4 外围设备驱动程序 375
14-2-5 文件系统 377
14-2-6 窗口系统 379
14-3 实时Linux系统 381
14-3-1 核心修改 382
14-3-2 应用程序修正 384
14-4 应用实例 384
14-4-1 Familiar项目 385
14-5 总结 387
14-4-2 PocketLinux项目 387
学习评测 388
第15章 嵌入式Java技术 389
15-1 Java的概念 390
15-1-1 Java平台结构 390
15-1-2 Java世界简介 392
15-1-3 Java Card简介 396
15-1-4 Java Chip简介 397
15-2-1 Java虚拟机与配置 399
15-2 Java 2微型版 399
15-2-2 CLDC技术与框架 400
15-2-3 CDC技术 409
15-3 总结 410
学习评测 411
附录A Verilog程序语法基本介绍 413
A-1 Verilog介绍 414
A-2 Verilog模块 414
A-3 Verilog Logic、Data Type、Number、Operator 416
A-5 Verilog structural style modeling 418
A-4 Verilog Hierachy 418
A-6 Verilog data flow style modeling 420
A-7 Verilog behavior style modeling 420
A-8 1 bit Full Adder Design Example 425
A-9 AHB接口相关的电路 427
附录B ARM指令集介绍 433
B-1 Processor Mode与Register File 434
B-2 Instruction Format 438
B-3 Arithmetic Instructions 440
B-5 Shift Instructions 441
B-4 Logic Instructions 441
B-6 Compare Instructions 442
B-7 Branch Instructions 443
B-8 Move Instructions 444
B-9 Single Load/Store Instructions 444
B-10 Block Data Transfer Instructions 446
B-11 Coprocessor Instructions 448
B-12 Others 449
附录C UML简介 451
附录D 参考数据 461