新書推薦:
《
中华老学·第十一辑
》
售價:NT$
380.0
《
债务之网:瑞士民商法的发展历史(1800-1900)
》
售價:NT$
345.0
《
ARM嵌入式Linux系统开发详解(第3版)
》
售價:NT$
595.0
《
长寿时代:做自己人生的CFO
》
售價:NT$
310.0
《
早点知道会幸福的那些事
》
售價:NT$
295.0
《
知宋·宋代之货币
》
售價:NT$
340.0
《
爱的7种对话:建立持续一生的亲密关系 (加)苏·约翰逊
》
售價:NT$
345.0
《
中国近现代武术思想史研究
》
售價:NT$
500.0
|
內容簡介: |
本书是普通高等教育“十一五”*规划教材,全书分为三个部分:基础篇、应用篇和提高篇。基础篇以SEP4020为平台介绍嵌入式微处理器的原理和开发,应用篇以GE01开发板为例介绍基于嵌入式微处理器的硬件开发,以ASIX OS操作系统为例介绍基于嵌入式操作系统的嵌入式软件开发,*后在提高篇中介绍了mClinux和mCOS嵌入式操作系统在GE01开发板上的移植。
|
關於作者: |
凌明,东南大学教授,东南大学电子科学与工程学院副院长,东南大学集成电路学院院长,东南大学国家专用集成电路系统工程技术研究中心。南京博芯电子有限公司总经理。长期从事集成电路、电子系统设计方面的科研和教学工作,出版多部专业教材和专著,科研、教学、写作经验丰富。
|
目錄:
|
目录
第1章嵌入式系统概况1
1.1什么是嵌入式系统1
1.2嵌入式系统的应用与分类2
1.2.1基于实时性的分类2
1.2.2基于应用的分类2
1.2.3移动互联网3
1.2.4物联网4
1.3嵌入式系统的产业链6
1.4嵌入式系统的知识体系7
1.5案例:MP3播放器9
思考题10
扩展阅读11
第2章嵌入式系统中SoC的硬件架构12
2.1SoC硬件架构概述12
2.2互联结构15
2.2.1常见互联结构分类15
2.2.2地址空间20
2.2.3常见互联结构接口协议23
2.3中央处理器32
2.4中断控制器32
2.5存储系统34
2.6直接存储器访问(DMA)35
2.6.1scatter-gather DMA36
2.6.2SEP4020芯片中的DMA控制器37
2.6.3DMAC驱动40
2.7外设接口控制器40
2.7.1高速通信接口控制器40
2.7.2低速通信接口控制器41
2.7.3人机界面控制器41
2.8案例:SoC架构设计41
2.8.1S3C44B0X41
2.8.2S3C641042
2.8.3OMAP353043
2.8.4SEP402043
2.8.5SEP620044
思考题47
扩展阅读47
第3章嵌入式系统的开发和调试48
3.1嵌入式系统的一般开发过程48
3.1.1交叉编译49
3.1.2链接50
3.1.3调试50
3.2调试方式介绍51
3.2.1模拟器53
3.2.2驻留监控软件60
3.2.3在线仿真调试62
3.2.4片上在线仿真调试62
3.2.5跟踪(Trace)技术63
3.2.6*CoreSight调试与跟踪技术简介65
3.3基于JTAG接口的片上在线仿真70
3.3.1JTAG简介70
3.3.2基于JTAG的片上在线仿真的系统结构75
3.3.3*ARM7TDMI内核调试原理76
3.4ARM的集成开发环境82
3.4.1ADS集成开发环境83
3.4.2DS-5集成开发环境83
3.4.3MDK集成开发环境89
3.5嵌入式软件的执行镜像与启动过程94
3.5.1ARM链接器的输出文件的加载视图与执行视图95
3.5.2基于ROM的程序执行97
3.5.3基于RAM的程序执行97
3.5.4ROMRAM重映射98
思考题98
扩展阅读98
第4章SoC中的CPU内核100
4.1CPU的基本概念100
4.1.1CPU的发展100
4.1.2复杂指令集(CISC)与精简指令集(RISC)103
4.1.3CPU的流水线技术104
4.1.4*CPU的分支预测技术106
4.1.5*乱序超标量处理器110
4.1.6*SIMD和向量处理器114
4.1.7*VLIW处理器115
4.1.8*EPIC处理器116
4.2ARM内核116
4.2.1ARM介绍116
4.2.2ARM7TDMI编程模型121
4.2.3ARM7TDMI的指令集131
4.2.4ARM7TDMI汇编语言143
4.2.5ARM7TDMI异常处理146
4.2.6ARM汇编程序与C程序153
4.2.7*ARM处理器的多核技术158
4.2.8*ARM处理器的最新发展164
4.3*其他CPU介绍169
4.3.1MIPS体系架构170
4.3.2龙芯处理器175
4.3.3UniCore-2 处理器178
4.4*其他类型的计算引擎181
4.4.1*GPU181
4.4.2*可重构计算187
案例:REMUS-II粗粒度可重构计算架构196
思考题201
扩展阅读202
第5章存储子系统203
5.1存储子系统概述203
5.2高速缓存Cache204
5.2.1Cache的基本组成204
5.2.2Cache的基本原理206
5.2.3*Cache缺失与访问冲突212
5.2.4*Cache一致性问题216
5.2.5Cache和SPM的比较218
5.2.6*ARM Cortex A8处理器的Cache架构221
5.3虚拟存储器222
5.3.1虚拟内存技术的基本原理222
5.3.2虚实地址映射与转换224
5.3.3快速地址转换技术227
5.3.4地址保护机制228
5.3.5处理缺页和TLB缺失230
5.3.6ARM Cortex A系列处理器的虚存管理230
5.4片外存储器234
5.4.1静态随机存储器(SRAM)235
5.4.2动态随机存储器(DRAM)237
5.4.3非易失性存储器250
5.5外部存储器接口258
5.5.1SEP4020芯片的外部存储器接口EMI258
5.5.2SEP4020芯片EMI的初始化与配置261
5.5.3OMAP4460处理器的外部存储器接口266
5.6*存储子系统优化技术267
5.6.1存储子系统的技术指标267
5.6.2DDR控制器的优化271
5.6.3片上存储器布局优化技术276
案例:高能效高清媒体处理器的访存QoS279
思考题284
扩展阅读285
第6章外设接口288
6.1低速通信接口288
6.1.1异步串行通信UART288
6.1.2同步串行通信294
6.2高速通信接口299
6.2.1通用串行总线USB299
6.2.2*10100M以太网MAC网络接口304
6.3人机接口313
6.3.1液晶显示器接口313
6.3.2音频接口322
6.3.3触摸屏接口326
6.4定时器332
6.4.1通用定时器332
6.4.2RTC333
思考题335
扩展阅读336
第7章嵌入式系统软件概述337
7.1嵌入式系统的软件框架337
7.1.1嵌入式系统软件所面临的挑战337
7.1.2嵌入式软件的层次框架338
7.2嵌入式操作系统的基本原理340
7.2.1嵌入式操作系统简介340
7.2.2嵌入式操作系统的内核341
7.2.3任务管理与调度342
7.2.4任务间通信348
7.2.5中断管理350
7.3*Android操作系统简介356
7.3.1Android操作系统的层次357
7.3.2Android虚拟机358
7.3.3Android的任务间通信机制366
7.3.4Android的安全机制371
案例:基于SEP4020的EPOS软件平台设计375
思考题378
扩展阅读378
第8章嵌入式系统功耗优化380
8.1嵌入式系统功耗优化概述380
8.1.1嵌入式系统的功耗问题380
8.1.2SoC芯片级功耗优化381
8.1.3嵌入式系统级功耗优化385
8.2SoC芯片级低功耗设计方法386
8.2.1时钟门控387
8.2.2多电压域技术389
8.2.3电源门控技术390
8.2.4*动态电压频率调节和自适应调节392
案例:SoC芯片低功耗设计397
8.3嵌入式系统级低功耗设计方法400
8.3.1嵌入式系统级功耗优化技术介绍400
8.3.2动态电源管理DPM401
8.3.3动态电压调节DVS403
8.3.4动态电压频率调节DVFS405
案例:整机系统级低功耗设计407
思考题412
扩展阅读412
|
內容試閱:
|
第 2 版 序
《嵌入式系统基于SEP3203微处理器的应用开发》(第一版)自2006年底出版以来得到了东南大学以及相关兄弟院校的教学应用,取得了良好的教学效果,并入选了国家十一五规划教材。近几年来,嵌入式系统技术的飞速发展正推动整个产业发生着深刻的变化:第一,移动互联网产业的兴起彻底改变了传统电信运行商、软件服务商、内容提供商、整机制造商等生态环境的商业模式,而物联网技术的迅速发展则推动着传统产业信息化和现代服务业的变革;第二,嵌入式领域虽然不存在传统桌面系统的Wintel联盟,但是在嵌入式CPU和嵌入式操作系统方面已经出现ARM公司系列CPU和Google公司Android系统一枝独秀的局面;第三,国内已经涌现出一批初具规模和实力的嵌入式微处理器设计厂商,自主CPU内核也逐渐成熟,并在部分市场领域得到应用,自主SoC芯片的生态环境已初步形成。
另一方面,嵌入式系统的本质是以应用为核心的专用计算机系统,它的核心是嵌入式微处理器(SoC芯片),围绕应用目标开展软硬件协同设计是嵌入式技术的本质特征。作为专用计算机系统,嵌入式系统技术与通用计算机系统没有本质的区别,但往往对系统的性能、功耗、成本、可靠性与实时性有更加严格的限制,这就决定了其总线架构、CPU内核设计、存储架构设计、媒体与图形系统设计等方面都有自己的设计哲学。传统的嵌入式系统教学往往采用国外SoC芯片作为主要教学内容,由于缺乏芯片的底层实现细节,往往更侧重在如何基于国外芯片厂商封装好的底层软件库进行应用开发。这使得学生缺乏对芯片底层工作机制的了解,从而无法对软硬适配部分进行充分的优化与定制,更不要说参与自主SoC芯片的研发与系统方案设计了。这显然无法满足技术和产业发展的需求。
基于对于以上问题的认识,东南大学国家ASIC工程技术研究中心(以下简称工程中心)的几位老师着手编写了《嵌入式系统从SoC芯片到系统》(第2版)。正如第2版副标题所表明的,本书将从SoC芯片的视角来分析和介绍嵌入式系统的基础知识。得益于工程中心十多年来在自主SoC芯片设计方面积累的工程经验与研究成果,本书详细介绍了嵌入式微处理器SoC芯片的架构、CPU、存储子系统、外围设备、调试方法、低功耗设计和操作系统基础,力图给读者一个站在SoC芯片设计者的视角了解现代嵌入式系统的构成,并真正理解一个复杂的嵌入式系统应用在芯片层面和软件层面是如何运作的。在第2版中,作者将继续采用工程中心自主研发的SEP4020与SEP6200处理器作为主要案例,其中SEP6200处理器采用了国产UniCore2 CPU内核。
与第1版不同,为了便于教学,本书为几乎所有的章节编写了思考题、案例分析和扩展阅读。当然,这不是一本包罗万象、解决所有问题的教材,正如作者们所希望的,这是一本嵌入式系统入门教材。通过这本书的阅读和学习,作者希望为读者后续进一步的深入学习打下坚实的基础。
时龙兴
2015年10月于东南大学
引 言
关于本书以及如何使用本书
毫无疑问,在大学中讲授嵌入式系统相关的课程是一个巨大的挑战。带来这种挑战的根本原因在于:第一,嵌入式系统是一个飞速发展的动态系统,新技术、新产品、新应用、新商业模式层出不穷,这一点在这一轮的移动互联网浪潮和物联网浪潮中表现得尤为突出;第二,嵌入式系统技术是一个非常综合的学科门类,其内涵涉及电子与微电子、计算机架构、操作系统、中间件、人机交互、计算机网络、通信甚至整机设计与制造等各领域,很难在有限的课时内将所有的知识点讲深讲透,这一点对于传统的电子信息类专业的本科生而言尤其如此,因为传统的电子信息类专业课程的设置往往很少涉及操作系统等软件方面的内容;第三,嵌入式系统技术的两大基础是微电子技术(尤其是SoC技术)和以嵌入式操作系统为代表的嵌入式软件技术。嵌入式系统对于性能、成本、功耗、实时性与高可靠性的更高要求决定了围绕应用目标开展软硬件协同设计和软硬件适配优化是嵌入式系统技术的本质特征。这就需要对SoC芯片的架构和工作机制有非常深刻的理解;第四,嵌入式系统技术是一门实践性非常强的课程,如何在有限的课时内加强学生的实践能力培养也是一个非常大的挑战。
针对上述这些挑战,东南大学国家专用集成电路系统工程技术研究中心依托电子科学与技术国家重点学科的优势,将多年来承担的国家、省部级科研项目的科研成果应用于教学,开展软硬件协同的嵌入式系统教学,具体举措包括:第一,建设了以自主SoC芯片为基础的系列嵌入式系统课程。包括面向本科的《嵌入式系统概论》,面向研究生课程的《嵌入式系统》、《SoC设计》、《嵌入式系统高级C语言编程》、《嵌入式操作系统》、《移动互联网应用编程》、《嵌入式系统实训》。课程内容覆盖从SoC芯片到软硬协同设计、适配优化再到应用方案设计的各层次;第二,采用自主SoC芯片设计了多款教学实验平台,并开发了相关实验。在课内有限的学时内重点培养学生基本的实践技能,通过课外实验和综合实训课程培养学生的综合应用能力,通过连续举办多届嵌入式设计竞赛培养学生的创新能力。
本书的写作目的就是为了配合本科课程《嵌入式系统概论》和研究生课程《嵌入式系统》的教学。因为是用作本科概论课程和研究生基础课程用书,本书的目的不是也不可能是讲授嵌入式系统相关的所有内容。事实上,试图在一本书、一门课程中将嵌入式系统的所有内容讲授清楚是不可能的。因此本书的基本定位是基础与入门。为后续课程或进一步的学习打下坚实的基础和扫清概念障碍。我们发现初学者对于现代SoC,尤其是面向移动互联网终端的SoC中出现的新概念、新知识的了解非常匮乏,而这些对于开展软硬件协同设计与软硬件适配优化却是必不可少的。与以往许多教材不同,本书试图站在SoC设计者的角度来介绍嵌入式系统的相关基础知识。这得益于本书作者参与了东南大学国家ASIC工程中心几款自主SoC芯片设计的全过程,全书中我们也将以自主SoC芯片SEP4020和SEP6200作为案例进行介绍。
为了便于教学,本书几乎在所有的章节中都设置了专门的设计案例和思考题。为了适应研究生教学的需要,本书在每章都设置了提高内容(书中带*的章节),将最新的技术发展融入教学内容。这些内容涉及到新型的片上互联架构、高性能CPU架构、异构计算单元、片上存储架构、多层次低功耗设计等内容,并为研究生和学有余力的本科生设置了扩展阅读单元,读者们可以通过这些扩展阅读进一步深化对相关技术的了解。
本书各章节安排如下:
第1章 嵌入式系统概况
概述了嵌入式系统的概念、嵌入式系统的应用等。作为两个最重要也可能是最热门的两个应用领域,本章专门对移动互联网终端和物联网进行了介绍。我们还将在本章介绍嵌入式系统的产业链构成,并对学习嵌入式系统的知识体系进行了梳理。本章最后通过一个MP3播放器的实例分析引出问题:按下按钮后MP3音乐是怎么播放出来的?
第2章 嵌入式系统的SoC硬件架构
介绍了SoC的硬件架构,由总线互联、处理器、中断控制器、定时器、存储系统、外设接口等组成,由于本书后面的章节将详细阐述处理器、存储系统、各种接口等部分,因此本章重点介绍了SoC芯片的总线互联,并分析了ARM公司的片上互联标准AMBA。本章还专门介绍了DMA控制器的工作原理。在案例部分,本章给出了几款SoC芯片的架构介绍。
第3章 嵌入式系统的开发和调试
本章首先介绍了嵌入式系统的一般开发过程,并对各种调试方法进行了介绍,包括模拟器、在线仿真、片上在线仿真和跟踪技术,并详细介绍了基于JTAG的调试方法。接着对ARM公司的3款集成开发环境:ADS、MD-5和MDK进行了介绍。
第4章 SoC中的CPU内核
介绍了CPU的基本概念:CPU的流水线技术、分支预测技术、乱序执行技术、超标量处理器、VLIW处理器、EPIC处理器、多核处理器等。接下来重点介绍了ARM处理器的特点、编程模型、指令系统、汇编语言程序结构、异常处理、编程技巧、ARM系列微处理器等。作为对ARM架构的补充,本章还介绍了MIPS、龙芯和众志CPU的基本架构。GPU和可重构计算作为新兴的计算引擎也在本章进行了介绍。
第5章 存储子系统
本章首先介绍嵌入式系统存储子系统的金字塔结构,重点分析了高速缓存(Cache)与虚拟存储器技术。接下来介绍了常用的存储器及其时序,包括SRAM、SDRAM、DDR SDRAM、Flash等。SoC中的外部存储器控制接口EMI及其编程模型,SoC中的SDMMC控制器及其编程模型也在本章进行了讲解。最后介绍了存储子系统的性能和功耗优化技术。
第6章 外设接口
本章分别介绍了低速通信接口控制器(异步串行通信UART、同步串行通信SPI),高速通信接口控制器(通用串行总线USB、10100M以太网MAC网络接口),人机界面控制器(液晶显示器控制器LCDC、音频接口I2S控制器)。
第7章 嵌入式系统软件概述
本章首先介绍嵌入式系统软件的组成、bootloader引导程序,以及为什么需要嵌入式操作系统和嵌入式操作系统的一些基本概念。在本章的第二部分,重点介绍了与嵌入式操作系统相关的基本原理,包括内核中的任务管理、任务间通信和中断管理。Android作为当前最流行的手持终端操作系统在本章的第三部分进行了介绍。
第8章 嵌入式系统功耗优化
本章首先概述了低功耗设计方法。接着分别介绍了SoC级低功耗设计方法和嵌入式系统级低功耗设计方法,并给出了两个与之对应的设计案例。
相应的课程安排
本书可以作为电子类本科生高年级和研究生低年级的教材。按照2学分(本科32学时、研究生36学时,其中实验课时按一半折算)的课程设置,作者给出的参考课时安排如下(教师可根据实际情况进行调整):
l 本科生《嵌入式系统概论》授课学时安排(24学时)
第1章 嵌入式系统概况 2学时
第2章 嵌入式系统中SoC的
|
|