1、 普通高等教育“十一五”国家级规划教材 微电子与集成电路设计系列规划教材 嵌入式系统 从 SoC 芯片到系统(第 2 版)凌 明 王学香 单伟伟 编著 内 容 简 介 本书是普通高等教育“十一五”国家级规划教材,从 SoC 芯片设计者的视角分析和介绍嵌入式系统的基础知识,注重软硬件协同设计与软硬件适配优化。全书共 8 章,主要内容包括:嵌入式系统概况、嵌入式系统中 SoC的硬件架构、嵌入式系统的开发和调试、SoC 中的 CPU 内核、存储子系统、外设接口、嵌入式系统软件概述、嵌入式系统功耗优化等。每章都设置专门的设计案例分析、思考题和扩展阅读,配套电子课件、习题参考答案、程序代码等。本书可作为
2、高等学校微电子、集成电路设计,以及其他电子和计算机相关专业高年级本科生与研究生 SoC 及嵌入式课程的教材,也可作为从事嵌入式系统研究开发的工程技术人员的参考书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 嵌入式系统:从 SoC 芯片到系统/凌明,王学香,单伟伟编著.2 版.北京:电子工业出版社,2017.6 ISBN 978-7-121-30718-8 I嵌 II凌 王 单 III微型计算机系统开发高等学校教材 IVTP360.21 中国版本图书馆 CIP 数据核字(2016)第 314602 号 策划编辑:王羽佳 责任编辑:周宏敏
3、 文字编辑:王晓庆 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:7871092 1/16 印张:26.5 字数:773 千字 版 次:2017 年 6 月第 1 版 印 次:2017 年 6 月第 1 次印刷 印 数:3000 册 定价:69.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)88254535,。III第 2 版 序 嵌入式系统基于 S
4、EP3203 微处理器的应用开发第 1 版自 2006 年底出版以来得到了东南大学以及相关兄弟院校的教学应用,取得了良好的教学效果,并入选了“十一五”国家级规划教材。近几年来,嵌入式系统技术的飞速发展正推动着整个产业发生着深刻的变化:第一,移动互联网产业的兴起彻底改变了传统电信运行商、软件服务商、内容提供商、整机制造商等生态环境的商业模式,而物联网技术的迅速发展则推动着传统产业信息化和现代服务业的变革;第二,嵌入式领域虽然不存在传统桌面系统的 Wintel 联盟,但是在嵌入式 CPU 和嵌入式操作系统方面已经出现 ARM 公司系列CPU 和 Google 公司 Android 系统一枝独秀的局
5、面;第三,国内已经涌现出一批初具规模和实力的嵌入式微处理器设计厂商,自主 CPU 内核也逐渐成熟,并在部分市场领域得到应用,自主 SoC 芯片的生态环境已初步形成。另一方面,嵌入式系统的本质是以应用为核心的专用计算机系统,它的核心是嵌入式微处理器(SoC 芯片),围绕应用目标开展软硬件协同设计是嵌入式技术的本质特征。作为专用计算机系统,嵌入式系统技术与通用计算机系统没有本质的区别,但往往对系统的性能、功耗、成本、可靠性与实时性有更加严格的限制,这就决定了其总线架构、CPU 内核设计、存储架构设计、媒体与图形系统设计等方面都有自己的设计哲学。传统的嵌入式系统教学往往采用国外SoC 芯片作为主要教
6、学内容,由于缺乏芯片的底层实现细节,往往更侧重于如何基于国外芯片厂商封装好的底层软件库进行应用开发。这使得学生缺乏对芯片底层工作机制的了解,从而无法对软硬适配部分进行充分的优化与定制,更不要说参与自主SoC 芯片的研发与系统方案设计了。这显然无法满足技术和产业发展的需求。基于对以上问题的认识,东南大学国家 ASIC 工程技术研究中心(以下简称工程中心)的几位老师着手编写了嵌入式系统从 SoC 芯片到系统(第 2 版)。正如本书副标题所表明的,本书将从 SoC 芯片的视角来分析和介绍嵌入式系统的基础知识。得益于工程中心十多年来在自主 SoC 芯片设计方面积累的工程经验与研究成果,本书详细介绍嵌入
7、式微处理器 SoC 芯片的架构、CPU、存储子系统、外围设备、调试方法、低功耗设计和操作系统基础,力图给读者一个 SoC 芯片设计者的视角,使其了解现代嵌入式系统的构成,并真正理解一个复杂的嵌入式系统应用在芯片层面和软件层面是如何运作的。在第2 版中,作者将继续采用工程中心自主研发的 SEP4020 与 SEP6200 处理器作为主要案例,其中 SEP6200 处理器采用了国产 UniCore2 CPU 内核。与第 1 版不同,为了便于教学,本书为几乎所有的章节编写了思考题、案例分析和扩展阅读。当然,这不是一本包罗万象、解决所有问题的教材,正如作者们所希望的,这是一本嵌入式系统入门教材。通过这
8、本书的阅读和学习,作者希望为读者后续进一步的深入学习打下坚实的基础。时龙兴 于东南大学 IV V 前 言 关于本书以及如何使用本书 毫无疑问,在大学中讲授嵌入式系统相关的课程是一个巨大的挑战。带来这种挑战的根本原因在于:第一,嵌入式系统是一个飞速发展的动态系统,新技术、新产品、新应用、新商业模式层出不穷,这一点在这一轮的移动互联网浪潮和物联网浪潮中表现得尤为突出。第二,嵌入式系统技术是一个非常综合的学科门类,其内涵涉及电子与微电子、计算机架构、操作系统、中间件、人机交互、计算机网络、通信甚至整机设计与制造等各领域,很难在有限的课时内将所有的知识点讲深讲透这一点对于传统的电子信息类专业的本科生而
9、言尤其明显,因为传统的电子信息类专业课程的设置往往很少涉及操作系统等软件方面的内容。第三,嵌入式系统技术的两大基础是微电子技术(尤其是 SoC 技术)和以嵌入式操作系统为代表的嵌入式软件技术。嵌入式系统对于性能、成本、功耗、实时性与高可靠性的更高要求决定了围绕应用目标开展软硬件协同设计和软硬件适配优化是嵌入式系统技术的本质特征。这就需要对 SoC 芯片的架构和工作机制有非常深刻的理解。第四,嵌入式系统技术是一门实践性非常强的课程,如何在有限的课时内加强学生的实践能力培养也是一个非常大的挑战。针对上述这些挑战,东南大学国家专用集成电路系统工程技术研究中心依托电子科学与技术国家重点学科的优势,将多
10、年来承担的国家、省部级科研项目的科研成果应用于教学,开展软硬件协同的嵌入式系统教学,具体举措包括:第一,建设了以自主SoC 芯片为基础的系列嵌入式系统课程:面向本科生的“嵌入式系统概论”,面向研究生课程的“嵌入式系统”、“SoC 设计”、“嵌入式系统高级 C语言编程”、“嵌入式操作系统”、“移动互联网应用编程”、“嵌入式系统实训”。课程内容覆盖从 SoC芯片到软硬协同设计、适配优化再到应用方案设计的各层次。第二,采用自主 SoC 芯片设计了多款教学实验平台,并开发了相关实验。在课内有限的学时内重点培养学生基本的实践技能,通过课外实验和综合实训课程培养学生的综合应用能力,通过连续举办多届嵌入式设
11、计竞赛培养学生的创新能力。本书的写作目的就是为了配合本科课程“嵌入式系统概论”和研究生课程“嵌入式系统”的教学。因为是作为本科概论课程和研究生基础课程用书,本书的目的不是也不可能是讲授嵌入式系统相关的所有内容。事实上,试图在一本书、一门课程中将嵌入式系统的所有内容讲授清楚是不可能的。因此,本书的基本定位是基础与入门本书的基本定位是基础与入门。为后续课程或进一步的学习打下坚实的基础和扫清概念障碍。我们发现初学者对于现代 SoC,尤其是面向移动互联网终端的SoC 中出现的新概念、新知识的了解非常匮乏,而这些对于开展软硬件协同设计与软硬件适配优化却是必不可少的。与以往许多教材不同,本书试图站在 So
12、C 设计者的角度来介绍嵌入式系统的相关基础知识。这得益于本书作者参与了东南大学国家ASIC工程中心几款自主SoC芯片设计的全过程,全书中我们也将以自主将以自主SoC芯片芯片SEP4020和和SEP6200作为案例进行介绍。作为案例进行介绍。为了便于教学,本书几乎在所有的章节中都设置了专门的设计案例和思考题。为了适应研究生教学的需要,本书在每章都设置了提高内容(书中带*的章节),将最新的技术发展融入教学内容。这些内容涉及到新型的片上互联架构、高性能CPU 架构、异构计算单元、片上存储架构、多层次低功耗设计等内容,并为研究生和学有余力的本科生设置了扩展阅读单元,读者们可以通过这些扩展阅读进一步深化
13、对相关技术的了解。VI本书各章节安排如下:第 1 章 嵌入式系统概况 本章概述嵌入式系统的概念、嵌入式系统的应用等。作为两个最重要也可能是最热门的应用领域,本章专门对移动互联网终端和物联网进行介绍。我们还将在本章介绍嵌入式系统的产业链构成,并对学习嵌入式系统的知识体系进行梳理。本章最后通过一个 MP3 播放器的实例分析引出问题:按下按钮后 MP3 音乐是怎么播放出来的。第 2 章 嵌入式系统中 SoC 的硬件架构 本章介绍 SoC 的硬件架构,由总线互联、处理器、中断控制器、定时器、存储系统、外设接口等组成,由于本书后面的章节将详细阐述处理器、存储系统、各种接口等部分,因此本章重点介绍 SoC
14、芯片的总线互联,并分析 ARM 公司的片上互联标准AMBA。本章还专门介绍 DMA 控制器的工作原理。在案例部分,本章给出了几款 SoC 芯片的架构介绍。第 3 章 嵌入式系统的开发和调试 本章首先介绍嵌入式系统的一般开发过程,并对各种调试方法进行介绍,包括模拟器、在线仿真、片上在线仿真和跟踪技术,并详细介绍基于 JTAG 的调试方法。接着对 ARM 公司的 3 款集成开发环境:ADS、MD-5 和 MDK 进行介绍。第 4 章 SoC 中的 CPU 内核 本章介绍 CPU 的基本概念:CPU 的流水线技术、分支预测技术、乱序执行技术、超标量处理器、VLIW 处理器、EPIC 处理器、多核处理
15、器等。接下来重点介绍 ARM 处理器的特点、编程模型、指令系统、汇编语言程序结构、异常处理、编程技巧、ARM 系列微处理器等。作为对ARM 架构的补充,本章还介绍 MIPS、龙芯和众志 CPU 的基本架构。GPU 和可重构计算作为新兴的计算引擎也在本章进行介绍。第 5 章 存储子系统 本章首先介绍嵌入式系统存储子系统的金字塔结构,重点分析高速缓存(Cache)与虚拟存储器技术。接下来介绍常用的存储器及其时序,包括 SRAM、SDRAM、DDR SDRAM、Flash 等。SoC 中的外部存储器控制接口 EMI 及其编程模型,SoC 中的 SD/MMC 控制器及其编程模型也在本章进行讲解。最后介
16、绍存储子系统的性能和功耗优化技术。第 6 章 外设接口 本章分别介绍低速通信接口控制器(异步串行通信 UART、同步串行通信 SPI)、高速通信接口控制器(通用串行总线 USB、10/100M 以太网 MAC 网络接口)、人机界面控制器(液晶显示器控制器LCDC、音频接口 I2S 控制器)。第 7 章 嵌入式系统软件概述 本章首先介绍嵌入式系统软件的组成、bootloader 引导程序,以及为什么需要嵌入式操作系统和嵌入式操作系统的一些基本概念。在本章的第二部分,重点介绍与嵌入式操作系统相关的基本原理,包括内核中的任务管理、任务间通信和中断管理。Android 作为当前最流行的手持终端操作系统在本章的第三部分进行介绍。VII第 8 章 嵌入式系统功耗优化 本章首先概述低功耗设计方法。接着分别介绍 SoC 级低功耗设计方法和嵌入式系统级低功耗设计方法,并给出两个与之对应的设计案例。相应的课程安排 本书可以作为电子类本科生高年级和研究生低年级的教材。按照 2 学分(本科 32 学时、研究生36 学时,其中实验课时按一半折算)的课程设置,作者给出的参考课时安排如下(教师可根据实际情况进行调整