《嵌入式系统设计与开发实践》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(印)Shibu Kizhakke Vallathai著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302479321
  • 页数:695 页
图书介绍:本书介绍嵌入式系统的基础知识、嵌入式硬件与固件的设计与开发步骤(包括硬件与固件的系统集成)以及嵌入式系统开发的生命周期管理知识。全书共分两部分。第I部分讲解嵌入式系统的基本知识。第II部分讲述有关嵌入式硬件与固件设计的进阶知识,介绍嵌入式系统设计的生命周期。

第Ⅰ部分 理解嵌入式系统的基本概念 3

第1章 嵌入式系统简介 3

1.1 嵌入式系统的含义 3

1.2 对比嵌入式系统与通用计算系统 4

1.3 嵌入式系统的发展历程 5

1.4 嵌入式系统的分类 6

1.4.1 基于时代的分类 6

1.4.2 基于复杂度和性能的分类 7

1.5 嵌入式系统的主要应用领域 7

1.6 嵌入式系统的用途 8

1.6.1 数据的采集、存储与显示 8

1.6.2 数据通信 9

1.6.3 数据(信号)处理 10

1.6.4 监测 10

1.6.5 控制 10

1.6.6 专用用户界面 11

1.7 可穿戴设备——嵌入式技术与生活方式的创新结合 11

1.8 本章小结 12

1.9 重要术语 13

1.10 课后习题 14

1.11 复习题 14

第2章 典型的嵌入式系统 15

2.1 嵌入式系统的内核 17

2.1.1 通用处理器与专用处理器 17

2.1.2 专用集成电路 24

2.1.3 可编程逻辑器件 25

2.1.4 商用现货 26

2.2 存储器 27

2.2.1 程序存储器 27

2.2.2 读-写存储器/随机存取存储器 29

2.2.3 基于接口类型的存储器分类 31

2.2.4 存储器映射 31

2.2.5 嵌入式系统中的存储器选型 32

2.3 传感器与激励器 33

2.3.1 传感器 34

2.3.2 激励器 34

2.3.3 I/O子系统 34

2.4 通信接口 42

2.4.1 板上通信接口 43

2.4.2 外部通信接口 48

2.5 嵌入式固件 56

2.6 系统其他元件 57

2.6.1 复位电路 57

2.6.2 欠压保护电路 58

2.6.3 振荡器 58

2.6.4 实时时钟 59

2.6.5 看门狗定时器 59

2.7 PCB与无源元件 60

2.8 本章小结 60

2.9 重要术语 62

2.10 课后习题 64

2.11 复习题 67

2.12 实验练习题 68

第3章 嵌入式系统的特征与质量属性 69

3.1 嵌入式系统的特征 69

3.1.1 面向特定应用和特定领域 69

3.1.2 反馈与实时性 70

3.1.3 能在恶劣环境中工作 70

3.1.4 分布式 70

3.1.5 尺寸小、重量轻 71

3.1.6 低功耗、节能 71

3.2 嵌入式系统的质量属性 71

3.2.1 工作模式下的质量属性 71

3.2.2 非工作模式下的质量属性 73

3.3 本章小结 75

3.4 重要术语 76

3.5 课后习题 76

3.6 复习题 78

第4章 嵌入式系统——面向特定应用与特定领域 79

4.1 洗衣机——面向特定应用的嵌入式系统 79

4.2 汽车——面向特定领域的嵌入式系统 81

4.2.1 汽车嵌入式系统工作的内部情况 81

4.2.2 汽车通信总线 82

4.2.3 汽车嵌入式市场上的主流厂商 83

4.3 本章小结 85

4.4 重要术语 85

4.5 课后习题 86

4.6 复习题 86

第5章 使用8位微控制器8051设计嵌入式系统 87

5.1 控制器选型时需要考虑的因素 88

5.1.1 功能集合 88

5.1.2 运行速度 88

5.1.3 代码存储空间 88

5.1.4 数据存储空间 88

5.1.5 开发环境支持 88

5.1.6 可用性 89

5.1.7 功耗 89

5.1.8 成本 89

5.2 选用8051微控制器的原因 89

5.3 基于8051的设计 89

5.3.1 8051的基本架构 89

5.3.2 存储器结构 90

5.3.3 寄存器 96

5.3.4 振荡器 98

5.3.5 端口 99

5.3.6 中断 114

5.3.7 8051中断系统 115

5.3.8 定时器 125

5.3.9 串口 132

5.3.10 复位电路 143

5.3.11 省电节能模式 144

5.4 8052微控制器 148

5.5 8051/52的衍生产品 148

5.5.1 Atmel公司的AT89C51RD2/ED2 149

5.5.2 Maxim公司的DS80C320/DS80C323 149

5.6 本章小结 149

5.7 重要术语 151

5.8 课后习题 151

5.9 复习题 155

5.10 实验练习题 157

第6章 基于8051微控制器的编程 159

6.1 8051支持的各种寻址模式 160

6.1.1 直接寻址 160

6.1.2 间接寻址 160

6.1.3 寄存器寻址 161

6.1.4 立即寻址 162

6.1.5 索引寻址 162

6.2 8051指令集 166

6.2.1 数据传输指令 166

6.2.2 算术运算指令 171

6.2.3 逻辑指令 178

6.2.4 布尔运算指令 183

6.2.5 程序控制转移指令 185

6.3 本章小结 187

6.4 重要术语 188

6.5 课后习题 189

6.6 复习题 195

6.7 实验练习题 196

第7章 软硬件协同设计与程序建模 197

7.1 软硬件协同设计的基本概念 198

7.2 嵌入式设计的计算模型 199

7.2.1 数据流程图模型 200

7.2.2 控制数据流程图 200

7.2.3 状态机模型 201

7.2.4 顺序程序模型 204

7.2.5 并发处理模型/通信处理模型 206

7.2.6 面向对象模型 207

7.3 统一建模语言简介 208

7.3.1 UML构建块 208

7.3.2 UML工具 212

7.4 软硬件权衡 212

7.5 本章小结 213

7.6 重要术语 214

7.7 课后习题 215

7.8 复习题 216

7.9 实验练习题 217

第Ⅱ部分 嵌入式产品的设计与开发 223

第8章 嵌入式硬件设计与开发 223

8.1 模拟电子元件 224

8.2 数字电子元件 225

8.2.1 集电极开路与三态输出 225

8.2.2 逻辑门 226

8.2.3 缓冲器 227

8.2.4 锁存器 227

8.2.5 译码器 228

8.2.6 编码器 228

8.2.7 多路复用器 229

8.2.8 多路输出选择器 230

8.2.9 组合电路 230

8.2.10 时序电路 232

8.3 VLSI与集成电路设计 236

8.4 电子设计自动化工具 241

8.5 OrCAD EDA工具的用法 242

8.6 使用OrCAD的Capture CIS工具实现电路图设计 242

8.6.1 电路图绘制窗口 245

8.6.2 电路图绘图工具 245

8.6.3 电路图绘制明细 249

8.6.4 创建元件编号 251

8.6.5 设计规则检查 252

8.6.6 创建材料清单 253

8.6.7 创建网表 254

8.7 PCB布局布线设计 257

8.7.1 布局布线构建块 257

8.7.2 使用OrCAD布局布线工具完成布局布线设计 262

8.7.3 PCB布局布线准则 277

8.8 印刷电路板制造 278

8.8.1 各种类型的PCB 278

8.8.2 PCB制造方法 279

8.8.3 PCB设计完成后,电路板外形及其调试测试 280

8.9 本章小结 283

8.10 重要术语 284

8.11 课后习题 285

8.12 复习题 288

8.13 实验练习题 289

第9章 嵌入式固件设计与开发 293

9.1 嵌入式固件设计方法 294

9.1.1 基于超循环的方法 294

9.1.2 基于嵌入式操作系统的方法 296

9.2 嵌入式固件开发语言 296

9.2.1 基于汇编语言的开发 296

9.2.2 基于高级语言的开发 303

9.2.3 汇编语言与高级语言混合编程 305

9.3 嵌入式C编程 308

9.3.1 对比C语言与嵌入式C语言 308

9.3.2 对比编译器与交叉编译器 308

9.3.3 在嵌入式C编程中使用C语言 309

9.4 本章小结 358

9.5 重要术语 359

9.6 课后习题 360

9.7 复习题 365

9.8 实验练习题 367

第10章 基于实时操作系统的嵌入式系统设计 369

10.1 操作系统基础知识 370

10.2 操作系统分类 374

10.2.1 通用操作系统 374

10.2.2 实时操作系统 374

10.3 任务、进程与线程 379

10.3.1 进程 379

10.3.2 线程 381

10.4 多处理与多任务 390

10.5 任务调度 391

10.5.1 非抢占式调度 393

10.5.2 抢占式调度 401

10.6 结合使用线程、进程与调度 410

10.7 任务通信 414

10.7.1 存储器共享 415

10.7.2 消息传递 421

10.7.3 远程过程调用与套接字 426

10.8 任务同步 430

10.8.1 任务通信/同步问题 430

10.8.2 任务同步技术 442

10.9 设备驱动程序 460

10.10 选择RTOS的方法 462

10.10.1 功能性需求 462

10.10.2 非功能性需求 463

10.11 本章小结 464

10.12 重要术语 466

10.13 课后习题 468

10.14 复习题 479

10.15 实验练习题 483

第11章 基于VxWorks与MicroC/OS-ⅡRTOS的嵌入式系统设计简介 485

11.1 VxWorks 486

11.1.1 任务创建与管理 486

11.1.2 任务调度 489

11.1.3 内核服务 489

11.1.4 任务间通信 490

11.1.5 任务同步与互斥 494

11.1.6 中断处理 497

11.1.7 监控任务执行的看门狗 499

11.1.8 定时与定时基准 500

11.1.9 VxWorks开发环境 500

11.2 MicroC/OS-Ⅱ 500

11.2.1 任务创建与管理 500

11.2.2 内核函数与初始化 506

11.2.3 任务调度 507

11.2.4 任务间通信 509

11.2.5 互斥与任务同步 514

11.2.6 定时与定时基准 524

11.2.7 存储器管理 525

11.2.8 中断处理 525

11.2.9 MicroC/OS-Ⅱ开发环境 527

11.3 本章小结 527

11.4 重要术语 528

11.5 课后习题 529

11.6 复习题 531

11.7 实验练习题 532

第12章 嵌入式硬件与固件的集成与测试 537

12.1 硬件与固件的集成 538

12.1.1 离线编程 538

12.1.2 在系统编程 540

12.1.3 在应用编程 541

12.1.4 使用厂家编程芯片 542

12.1.5 对基于操作系统的器件实现固件加载 542

12.2 电路板加电 542

12.3 本章小结 543

12.4 重要术语 544

12.5 复习题 544

第13章 嵌入式系统开发环境 545

13.1 集成开发环境 546

13.1.1 基于8051的Keilμ Vision 547

13.1.2 嵌入式系统开发IDE概述 570

13.2 交叉编译过程中生成的各种文件 572

13.2.1 列表文件(.LST) 572

13.2.2 预处理器输出文件 575

13.2.3 目标文件(.OBJ) 575

13.2.4 Map文件(.MAP) 575

13.2.5 Hex文件(.HEX) 578

13.3 反汇编器与反编译器 580

13.4 模拟器、仿真器与调试 581

13.4.1 模拟器 581

13.4.2 仿真器与调试器 582

13.5 目标硬件调试 589

13.5.1 放大镜 589

13.5.2 万用表 589

13.5.3 数字CRO 589

13.5.4 逻辑分析仪 590

13.5.5 函数生成器 590

13.6 边界扫描 590

13.7 本章小结 592

13.8 重要术语 593

13.9 课后习题 593

13.10 复习题 595

13.11 实验练习题 595

第14章 产品外壳设计与开发 597

14.1 产品外壳设计工具 598

14.2 产品外壳开发技术 598

14.2.1 外壳手工设计 598

14.2.2 快速原型开发 599

14.2.3 加工与制模 599

14.2.4 金属薄板 600

14.2.5 商用现货外壳 600

14.3 本章小结 600

14.4 重要术语 602

14.5 课后习题 602

14.6 复习题 602

第15章 嵌入式产品开发生命周期 603

15.1 EDLC的含义 604

15.2 EDLC的作用 604

15.3 EDLC的目标 604

15.3.1 保障产品质量 605

15.3.2 通过管理降低风险并预防缺陷 605

15.3.3 提高生产效率 606

15.4 EDLC的各个阶段 606

15.4.1 需求 607

15.4.2 概念成型 608

15.4.3 分析 610

15.4.4 设计 612

15.4.5 开发与测试 613

15.4.6 部署 614

15.4.7 支持 615

15.4.8 升级 616

15.4.9 退市 616

15.5 EDLC方法(EDLC建模) 617

15.5.1 线性/瀑布模型 617

15.5.2 迭代/增量模型(也称为喷泉模型) 618

15.5.3 原型/演化模型 619

15.5.4 螺旋模型 620

15.6 本章小结 621

15.7 重要术语 622

15.8 课后习题 623

15.9 复习题 624

第16章 嵌入式产业发展趋势 625

16.1 嵌入式系统处理器发展趋势 625

16.1.1 片上系统 626

16.1.2 系统级封装 627

16.1.3 多核处理器/片上多处理器 627

16.1.4 可重构处理器 628

16.2 嵌入式操作系统发展趋势 628

16.3 开发语言发展趋势 629

16.3.1 基于Java的嵌入式开发 629

16.3.2 基于.NET CF的嵌入式开发 631

16.4 开放式标准、框架与联盟 632

16.4.1 开放式移动联盟 632

16.4.2 开放式手机联盟 632

16.4.3 Android 632

16.4.4 Tizen 632

16.5 瓶颈 633

16.5.1 性能、电源优化和热量管理 633

16.5.2 缺少标准或标准执行力度不够 633

16.5.3 缺少专业的人力资源 633

16.6 开发平台的发展趋势 633

16.6.1 Arduino 634

16.6.2 BeagleBone 634

16.6.3 Sharks Cove 634

16.6.4 MinnowBoard MAX 634

16.6.5 Raspberry Pi 634

16.6.6 英特尔的Galileo Gen 2 635

16.7 云、物联网和嵌入式系统——未来的重要发展 635

附录A PIC系列微控制器、AVR系列微控制器、ARM处理器简介 637

附录B 设计案例研究 655