嵌入式系统设计师教程(第2版)

嵌入式系统设计师教程(第2版)"

作者:崔西宁主编张亮张淑平副主编
ISBN:9787302536970
定价:¥118
字数:千字
页数:
出版时间:2019.12.01
开本:
版次:2-3
装帧:
出版社:清华大学出版社
简介

本书按照全国计算机技术与软件专业技术资格(水平)考试要求编写,内容紧扣嵌入式系统设计师考试大纲。全书共6章,分别对嵌入式系统基础知识、嵌入式微处理器与接口设计、嵌入式软件与操作系统、嵌入式软件程序设计、嵌入式系统设计与维护等知识进行了详细的讲解,最后介绍了一个典型的嵌入式系统设计案例。 本书内容丰富,结构合理,概念清晰。既可作为全国计算机技术与软件专业技术资格(水平)考试中嵌入式系统设计师级别的考试用书,供有关考生学习使用,也可以作为本科生嵌入式系统相关课程教材或培训用书使用。

前言

前 言 

全国计算机技术与软件专业技术资格(水平)考试实施至今已经历了二十多年,在 

社会上产生了很大的影响,对我国软件产业的形成和发展做出了重要的贡献。为了适应 

我国计算机信息技术发展的需求,人力资源和社会保障部、工业和信息化部决定将考试 

的级别拓展到计算机信息技术行业的各个方面,以满足社会上对各种计算机信息技术人 

才的需要。 

编者受全国计算机专业技术资格考试办公室的委托,对《嵌入式系统设计师教程》 

进行改写,以适应新的考试大纲要求。在考试大纲中,要求考生掌握的知识面很广,每 

个章节的内容都能构成相关领域的一门甚至多门课程,因此编写的难度很高。考虑参加 

考试的人员已有一定的基础,所以本书中只对考试大纲中所涉及的知识领域的要点加以 

阐述,但限于篇幅,不能详细地展开,请读者谅解。 

全书共 11 章,各章内容安排如下。 

第 1 章 计算机系统基础知识,概要介绍嵌入式系统,对计算机系统常用进位计数 

制、数据的表示和运算、计算机系统硬件基本组成和体系结构以及可靠性与系统性能评 

测等基础知识进行了简要介绍。 

第 2 章 嵌入式系统硬件基础知识,主要介绍嵌入式系统所涉及的硬件知识,重点 

介绍嵌入式微处理器、嵌入式存储体系、嵌入式系统的输入输出接口、嵌入式系统通信 

接口等方面的硬件接口基础知识。 

第 3 章 嵌入式硬件设计,主要介绍嵌入式硬件设计过程中所涉及的基础知识,包 

括嵌入式系统电源分类、电源管理和电子电路设计中的 PCB 设计、电子电路测试基础 

知识。 

第 4 章 嵌入式系统软件基础知识,主要介绍嵌入式系统软件相关基础知识,包括 

嵌入式软件基础知识、嵌入式操作系统、嵌入式文件系统、嵌入式数据库等。 

第 5 章 嵌入式系统设计与开发,主要介绍嵌入式软件开发基础知识、嵌入式软件 

开发环境、嵌入式软件开发过程、嵌入式软件移植等。 

第 6 章 嵌入式程序设计,主要介绍程序语言及其翻译基础知识以及汇编语言、C 和 

C++编程基础知识。 

第 7 章 嵌入式系统的项目开发与维护知识,主要介绍嵌入式系统开发与维护的相 

关基础知识,主要包括系统开发过程与过程模型、项目管理、系统质量、开发工具与开

嵌入式系统设计师教程(第 2 版) 

II 

发环境、系统分析、系统设计、系统实施、系统运行与维护等相关知识。 

第 8 章 嵌入式系统软件测试,主要介绍嵌入式软件测试的相关内容,包括软件测 

试概述、测试过程、测试方法、测试类型、测试工具、测试环境、软件测试实践等。 

第 9 章 嵌入式系统安全性基础知识,主要介绍安全性基础知识,包括计算机信息 

系统安全概述、信息安全基础、安全威胁防范、嵌入式系统安全方案等内容。 

第 10 章 标准化、信息化与知识产权基础知识,主要介绍标准化基础知识、信息化 

基础知识和知识产权基础知识。 

第 11 章 嵌入式系统设计案例分析,主要通过案例分析介绍嵌入式系统的整体设计 

方法和典型嵌入式硬件设计中所涉及的软硬件协同设计、程序设计等内容。 

本书第 1 章由张淑平和朱光明编写,第 2 章、第 3 章由张亮和朱光明编写,第 4 章、 

第 5 章由崔西宁、谌卫军和韩炜编写,第 6 章由张淑平和刘伟编写,第 7 章由霍秋艳编 

写,第 8 章由周敏刚编写,第 9 章由严体华编写,第 10 章由刘强和王亚平编写,第 11 

章由崔西宁、张亮和戴小氐编写,最后由崔西宁、张淑平、张亮统稿。 

在本书的编写过程中,参考了许多相关的书籍和资料,编者在此对这些参考文献的 

作者表示感谢。同时感谢清华大学出版社在本书出版过程中所给予的支持和帮助。 

因水平有限,书中难免存在错漏和不妥之处,望读者指正,以利改进和提高。 

编 者 

2019 年 10 月 

目录

目 录 

第 1 章 计算机系统基础知识 · 1 

1.1 嵌入式计算机系统概述 · 1. 

1.2 数据表示  4. 

1.2.1 进位计数制及转换  4. 

1.2.2 数值型数据的表示  6. 

1.2.3 其他数据的表示  10. 

1.2.4 校验码 · 13. 

1.3 算术运算和逻辑运算 · 17. 

1.3.1 算术运算 · 17. 

1.3.2 逻辑运算 · 20. 

1.4 计算机硬件组成及主要部件 

功能  22. 

1.4.1 中央处理单元 22. 

1.4.2 存储器 · 25. 

1.4.3 总线 · 35. 

1.4.4 输入/输出控制  38. 

1.5 计算机体系结构· 42. 

1.6 可靠性与系统性能评测基础 

知识  49. 

1.6.1 计算机可靠性 49. 

1.6.2 计算机系统的性能评价  52. 

第 2 章 嵌入式系统硬件基础知识  56 

2.1 数字电路基础  56 

2.1.1 信号特征 · 56. 

2.1.2 组合逻辑电路和时序逻辑 

电路 · 56. 

2.1.3 信号转换 · 60. 

2.1.4 可编程逻辑器件  62. 

2.2 嵌入式微处理器基础 · 63 

2.2.1 嵌入式微处理器的结构和 

类型 · 65. 

2.2.2 嵌入式微处理器的异常与 

中断 · 71. 

2.3 嵌入式系统的存储体系 · 74. 

2.3.1 存储系统的层次结构  74. 

2.3.2 内存管理单元  74. 

2.3.3 RAM 和 ROM 的种类与 

选型 · 75. 

2.3.4 高速缓存(Cache)  78. 

2.3.5 其他存储设备  80. 

2.4 嵌入式系统 I/O  83. 

2.4.1 通用输入/输出接口 · 83. 

2.4.2 模数/数模接口 · 84. 

2.4.3 键盘、显示、触摸屏等 

接口基本原理与结构  85. 

2.4.4 嵌入式系统音频、视频 

接口 · 87. 

2.4.5 输入/输出控制 · 89. 

2.5 定时器和计数器 · 89. 

2.5.1 硬件定时器 · 89. 

2.5.2 软件定时器 · 90. 

2.5.3 可编程间隔定时器  90. 

2.6 嵌入式系统总线及通信接口 · 91. 

2.6.1 PCI、PCI-E 等接口基本 

原理与结构 · 91. 

2.6.2 USB、串口等基本原理与 

结构 · 94. 

2.6.3 以太网、WLAN 等基本 

原理与结构 · 99.

嵌入式系统设计师教程(第 2 版) 

IV 

IV 

2.6.4 Rapid IO 等基本原理与 

结构 · 105. 

2.7 嵌入式 SoC  106. 

2.7.1 Virtex 系列  106. 

2.7.2 Spartan 系列  107. 

第 3 章 嵌入式硬件设计  108 

3.1 嵌入式系统电源管理 · 108. 

3.2 电子电路设计  111. 

3.2.1 电子电路设计基础知识  111. 

3.2.2 PCB 设计基础知识 · 116. 

3.2.3 电子电路测试基础知识  129. 

3.3 Cadence PCB 系统设计  130. 

3.3.1 原理图设计输入工具  131. 

3.3.2 PCB 设计系统 · 133. 

3.3.3 自动和交互布线工具  134. 

3.3.4 库管理 · 134. 

3.3.5 约束管理器 · 135. 

第 4 章 嵌入式系统软件基础知识  136 

4.1 嵌入式软件基础· 136 

4.1.1 嵌入式系统 · 136. 

4.1.2 嵌入式软件 · 139. 

4.1.3 嵌入式软件分类  141. 

4.1.4 嵌入式软件体系结构  141. 

4.1.5 设备驱动层 · 144. 

4.1.6 嵌入式中间件 146. 

4.2 嵌入式操作系统概述 · 146. 

4.2.1 嵌入式操作系统的分类  149. 

4.2.2 常见的嵌入式操作系统  152. 

4.3 任务管理  155. 

4.3.1 多道程序技术 156. 

4.3.2 进程、线程和任务  157. 

4.3.3 任务的实现 · 159. 

4.3.4 任务的调度 · 162. 

4.3.5 实时系统调度 167. 

4.3.6 任务间的同步与互斥  169. 

4.3.7 任务间通信 · 176. 

4.4 存储管理  178. 

4.4.1 存储管理概述  178. 

4.4.2 实模式与保护模式  179. 

4.4.3 分区存储管理  179. 

4.4.4 地址映射 · 184. 

4.4.5 页式存储管理  188. 

4.4.6 虚拟存储管理  193. 

4.5 设备管理  197. 

4.5.1 设备管理基础  197. 

4.5.2 I/O 控制方式 · 198. 

4.5.3 I/O 软件 · 201. 

4.6 文件系统  203. 

4.6.1 嵌入式文件系统概述  204. 

4.6.2 文件和 · 205. 

4.6.3 文件系统的实现  207. 

4.6.4 典型嵌入式文件系统 

介绍 · 210. 

4.7 嵌入式数据库  212. 

4.7.1 嵌入式系统对数据库的 

特殊要求 · 212. 

4.7.2 典型嵌入式数据库介绍  213. 

第 5 章 嵌入式系统设计与开发  215 

5.1 嵌入式软件开发概述 · 215. 

5.1.1 嵌入式应用开发的过程  215. 

5.1.2 嵌入式软件开发的特点  216. 

5.1.3 嵌入式软件开发的挑战  217. 

5.2 嵌入式软件开发环境 · 218. 

5.2.1 宿主机和目标机  219. 

5.2.2 嵌入式软件开发工具  221. 

5.2.3 集成开发环境  227. 

5.3 嵌入式软件开发 · 232. 

5.3.1 嵌入式平台选型  232. 

5.3.2 软件设计 · 233. 

5.3.3 特性设计技术  238.

目 录 

V 

V 

5.3.4 嵌入式软件的设计约束  241. 

5.3.5 编码 · 244. 

5.3.6 下载和运行 · 247. 

5.4 嵌入式软件移植· 247. 

5.4.1 无操作系统的软件移植  248. 

5.4.2 有操作系统的软件移植  249. 

5.4.3 应用软件的移植  250. 

第 6 章 嵌入式程序设计  252 

6.1 程序设计语言基础 · 252. 

6.1.1 程序设计语言概述  252. 

6.1.2 程序设计语言的分类和 

特点 · 253. 

6.1.3 程序设计语言的基本成分  256. 

6.1.4 程序设计语言的翻译基础  260. 

6.2 汇编语言程序设计 · 271. 

6.2.1 汇编语言概述 271. 

6.2.2 汇编语言程序 271. 

6.3 C 程序设计基础 · 276. 

6.3.1 C 程序基础  276. 

6.3.2 函数 · 291. 

6.3.3 存储管理 · 294. 

6.3.4 指针 · 297. 

6.3.5 栈与队列 · 306. 

6.3.6 C 程序内嵌汇编  312. 

6.4 C++程序设计基础 · 313. 

6.4.1 面向对象基本概念  313. 

6.4.2 C++程序基础  316. 

6.4.3 类与对象 · 319. 

6.4.4 继承与多态 · 326. 

6.4.5 异常处理 · 330. 

6.4.6 类库 · 332. 

第 7 章 嵌入式系统的项目开发与 

维护知识 · 334 

7.1 系统开发过程和项目管理 · 334. 

7.1.1 系统生存周期  334. 

7.1.2 过程模型 · 336. 

7.1.3 过程评估 · 342. 

7.1.4 工具与环境 · 344. 

7.1.5 项目管理 · 347. 

7.1.6 质量保证 · 351. 

7.2 系统分析知识  354. 

7.2.1 系统需求的定义  355. 

7.2.2 需求分析的基本任务  355. 

7.2.3 需求建模 · 355. 

7.3 系统设计知识  356. 

7.3.1 系统概要设计  357. 

7.3.2 系统详细设计  357. 

7.3.3 系统设计原则  358. 

7.3.4 软硬件协同设计方法  360. 

7.4 结构化分析与设计方法 · 362. 

7.4.1 结构化分析方法  363. 

7.4.2 结构化设计方法  366. 

7.4.3 结构化程序设计方法  370. 

7.5 面向对象分析与设计方法 · 370. 

7.5.1 面向对象分析与设计  370. 

7.5.2 UML 构造块  372. 

7.5.3 设计模式 · 377. 

7.6 系统实施知识  385. 

7.6.1 软硬件平台搭建  386. 

7.6.2 系统测试 · 386. 

7.6.3 系统调试 · 388. 

7.7 系统运行与维护 · 389. 

7.7.1 系统运行管理  389. 

7.7.2 系统维护概述  390. 

7.7.3 系统评价 · 393 

第 8 章 嵌入式系统软件测试 · 395 

8.1 软件测试概述  395 

8.1.1 软件测试的定义  395. 

8.1.2 软件测试的发展  396.

嵌入式系统设计师教程(第 2 版) 

VI 

VI 

8.1.3 软件测试与软件开发的 

关系 · 398. 

8.2 嵌入式软件测试技术 · 398 

8.2.1 测试过程 · 399. 

8.2.2 测试方法 · 403. 

8.2.3 测试类型 · 410. 

8.2.4 测试工具 · 416. 

8.2.5 测试环境 · 417. 

8.3 软件测试实践  419 

8.3.1 面向对象的软件测试  419. 

8.3.2 基于模型的软件测试  420. 

8.3.3 基于模型开发软件的测试  421. 

8.3.4 分布式软件测试  421. 

8.3.5 测试实例 · 422. 

第 9 章 嵌入式系统安全性基础 

知识  434 

9.1 计算机信息系统安全概述 · 434. 

9.1.1 信息系统安全 434. 

9.1.2 网络安全 · 435. 

9.1.3 风险管理 · 437. 

9.2 信息安全基础  439. 

9.2.1 数据加密原理 439. 

9.2.2 数据加密算法 439. 

9.2.3 认证算法 · 442. 

9.3 安全威胁防范  444. 

9.3.1 防治计算机病毒  444. 

9.3.2 认证 · 447. 

9.3.3 数字签名 · 448. 

9.3.4 报文摘要 · 449. 

9.3.5 数字证书 · 450. 

9.4 嵌入式系统安全方案 · 452. 

9.4.1 智能卡安全技术  452. 

9.4.2 USB-Key 技术 · 452. 

9.4.3 智能终端的安全技术  453. 

9.4.4 行业工控系统安全  454. 

第 10 章 标准化、信息化与知识 

产权基础知识 · 456 

10.1 标准化基础知识 · 456. 

10.1.1 概述 · 456. 

10.1.2 信息技术标准化  462. 

10.1.3 标准化组织  464. 

10.1.4 ISO 9000 标准简介  466. 

10.1.5 ISO/IEC 15504 过程评估 

标准简介 · 468. 

10.1.6 嵌入式系统相关标准 

简介 · 469. 

10.2 信息化基础知识 · 470. 

10.2.1 概述 · 470. 

10.2.2 信息化发展趋势  471. 

10.2.3 信息化应用  474. 

10.3 知识产权基础知识 · 475. 

10.3.1 概述 · 476. 

10.3.2 计算机软件著作权  478. 

10.3.3 计算机软件的商业 

秘密权 · 490. 

10.3.4 专利权概述  492. 

10.3.5 企业知识产权的保护  496. 

第 11 章 嵌入式系统设计案例分析  498 

11.1 嵌入式系统总体设计 · 498. 

11.1.1 嵌入式系统设计概述  499. 

11.1.2 案例分析 504. 

11.2 嵌入式系统硬件设计 · 536. 

11.2.1 嵌入式系统硬件设计 

概述 · 536. 

11.2.2 嵌入式系统软硬件协同 

设计 · 537. 

11.2.3 案例分析 537. 

11.3 嵌入式系统应用设计案例 · 569

作者简介

编辑推荐

本书内容丰富,结构合理,概念清晰。既可作为全国计算机技术与软件专业技术资格(水平)考试中嵌入式系统设计师级别的考试用书,供有关考生学习使用,也可以作为本科生嵌入式系统相关课程教材或培训用书使用。

作者寄语

崔西宁,研究员,中国航空工业集团公司西安航空计算技术研究所,工业和信息化部教育考试中心软考研究院成员。多年从事计算机技术与软件专业技术资格考试研究与命题工作,曾参与多本软考教材教辅的编写工作。

电子资料

www.luweidong.cn

下一个