从实践中学ARM体系结构与接口技术(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-23 20:17:14

点击下载

作者:华清远见嵌入式学院

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

从实践中学ARM体系结构与接口技术

从实践中学ARM体系结构与接口技术试读:

内容简介

本书在全面介绍主流ARM处理器的体系结构、编程模型、指令系统及RealView MDK开发环境的同时,以目前行业主流的基于ARM920T的应用处理器S3C2410X为例,详细介绍了系统的设计及相关接口技术。接口技术中涵盖了I/O、中断、串口、存储器、PWM、A/D、LCD,并提供了大量实验内容,第13章还提供了一个综合实例。同时,本书还介绍了目前最新的Cortex-A8和Cortex-M0处理器的相关特点和行业应用。

本书可作为大学院校电子、通信、自动化、计算机等专业ARM体系结构、接口技术课程的教材,也可作为嵌入式相关开发人员的参考书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。从实践中学ARM体系结构与接口技术/华清远见嵌入式学院编著.—北京:电子工业出版社,2012.3高等院校嵌入式人才培养规划教材ISBN 978-7-121-15872-8Ⅰ.①从… Ⅱ.①华… Ⅲ.①微处理器,ARM-系统设计-高等学校-教材②微处理器,ARM-接口-高等学校-教材 Ⅳ.①TP332中国版本图书馆CIP数据核字(2012)第021897号策划编辑:胡辛征责任编辑:董 英特约编辑:赵树刚印  刷:三河市鑫金马印装有限公司装  订:三河市鑫金马印装有限公司出版发行:电子工业出版社     北京市海淀区万寿路173信箱 邮编100036开  本:787×1092 1/16 印张:19.75 字数:506千字印  次:2012年3月第1次印刷印  数:4000册  定价:39.80元

凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。

质量投诉请发邮件至zlts@phei.com.cn,盗版侵权举报请发邮件至dbqq@phei.com.cn。

服务热线:(010)88258888。

印  次:2012年3月第2次印刷

印  数:5001~6500册  定价:48.00元前 言

在今天所处的大时代背景下,嵌入式、3G、物联网、云计算俨然已经成为信息产业的主旋律,不管是从政府大力扶持的角度,还是从产业变革的角度来说,这股潮流早已势不可挡。而嵌入式系统正是这些产业应用技术中最核心的部分。随着智能化电子行业的迅猛发展,嵌入式行业更是凭借其“应用领域广、人才需求大、就业薪资高、行业前景好”等众多优势,成为当前最热门、最有发展前途的行业之一。与此同时,嵌入式研发工程师更是成为IT职场的紧缺人才。因此,近几年来,各大学院校纷纷开设嵌入式专业课程。但是,各院校在嵌入式专业建设和教学的过程中几乎都面临教材难觅、内容更新迟缓的困境。虽然目前市场上嵌入式开发的相关书籍比较多,但几乎都是针对有一定基础的行业内研发人员而编写的,并不完全符合高校的教学要求。

针对高校专业教材缺乏的现状,我们以多年来在嵌入式工程技术领域内人才培养、项目研发的经验为基础,汇总了近几年积累的数百家企业对嵌入式研发相关岗位的真实需求,并结合行业应用技术的最新状况及未来发展趋势,调研了数十所开设“嵌入式工程技术”专业的院校的课程设置情况、学生特点和教学用书现状,通过细致的整理和分析,对专业技能和基本知识进行了合理划分,编写了这套高等院校嵌入式人才培养规划教材,包括:《从实践中学ARM嵌入式体系结构与接口技术》《从实践中学嵌入式Linux操作系统》《从实践中学嵌入式Linux C编程》《从实践中学嵌入式Linux应用程序开发》

本套教材按照专业整体教学要求组织编写,各自对应的主干课程之间既相对独立又有机衔接,整套教材具有系统性。《从实践中学ARM嵌入式体系结构与接口技术》侧重介绍接口技术;在操作系统教材方面,根据各院校的教学重点和行业实际应用情况,编写了《从实践中学嵌入式Linux操作系统》;考虑到嵌入式专业对学生C语言能力要求较高,编写了《从实践中学嵌入式Linux C编程》,可作为“C语言基础”课程的后续提高课程使用;《从实践中学嵌入式Linux应用程序开发》则重点突出了贯穿前面所学知识的实训内容,供“嵌入式Linux应用开发”课程使用。

ARM作为一种32位的高性能、低成本的嵌入式RISC微处理器,得到了广泛的应用。目前,ARM9及Cortex系列的处理器已经占据了大部分嵌入式处理器的中高端产品市场。本书以目前行业应用的主流S3C2410X处理器及最新的Cortex-A8和Cortex-M0系列的处理器为平台,介绍了ARM嵌入式系统开发的各个主要环节。本书侧重实践,辅以代码讲解,使读者从分析的角度来学习嵌入式开发的各种技术。本书使用的工具是Keil公司的MDK(Microcontroller Development Kit)。MDK是ARM公司推出的专业嵌入式开发工具RealView的工具集,它是为了满足基于MCU进行嵌入式软件开发的需求而推出的,包含强大的设备调试和仿真支持、众多的案例模板和固件实例,以及存储优化的RTOS库。MDK适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发入门者,并能满足要求较高的微控制器应用。

本书将嵌入式软硬件理论讲解和技能实践融合在一起,共14章。第1章为嵌入式系统基础知识,介绍了嵌入式系统的组成及嵌入式开发概述。第2章为ARM技术概述,讲解了ARM体系结构、应用选型及编程模型等。第3章为ARM微处理器的指令系统,重点介绍了ARM指令集。第4章为ARM汇编语言程序设计,主要介绍了ARM程序中常用的伪指令、伪操作及ARM汇编语句的格式和结构。第5章为ARM RealView MDK集成开发环境,主要介绍了RealView MDK环境的安装和使用。第6章为GPIO编程,介绍了GPIO的概念及S3C2410X的GPIO操作方法。第7章为ARM异常中断处理及编程,介绍了ARM处理器的异常处理,以及S3C2410X的中断控制器工作原理。第8章为串行通信接口,介绍了串行通信的概念及S3C2410X串口的操作方法。第9章为存储器接口,介绍了NOR Flash、NAND Flash、SDRAM存储器的操作方法。第10章为定时器,介绍了定时器的工作原理及S3C2410X定时器接口的操作方法。第11章为A/D转换器,介绍了A/D转换器的工作原理及S3C2410X A/D控制器的操作方法。第12章为LCD接口设计,介绍了S3C2410X的LCD控制器的工作原理。第13章为温度监测仪开发实例,融合了前面章节中的大部分知识。第14章重点介绍了ARM体系的最新发展情况,并且介绍了目前在业界得到广泛应用的Cortex-A8和Cortex-M0处理器。

在学习本书时,读者要具有一定的数字电路和C语言的基础知识。

本书由华清远见研发中心技术总监刘洪涛和赵孝强编著并统校全稿。在此还要感谢华清远见嵌入式学院的大力支持,教材内容参考了学院与嵌入式企业需求无缝对接的、科学的专业人才培养体系。同时,在嵌入式学院从业或执教多年的行业专家团队也对教材的编写工作做出了贡献,曾宏安、季久峰、冯利美、曹忠明、赵孝强、陈刚、程姚根、温尚书、贾燕枫、方琳琳、沈静、冯瑜、杨曼、王利丽、李媛媛、张丹、刘晶晶、王丽丽、谭翠君、关晓强、王彦红等老师在书稿的编写过程中认真阅读了所有章节,提供了大量在实际教学中积累的重要素材,对教材结构、内容提出了中肯的建议,并在后期审校工作中提供了很多帮助,在此表示衷心的感谢。

由于编者水平所限,书中不妥之处在所难免,恳请读者批评指正。对于本书的批评和建议,可以发到www.embedu.org技术论坛。编 者2012年1月第1章 嵌入式系统基础知识

嵌入式系统已成为当前最为热门的领域之一,它无处不在,受到社会各方面的广泛关注,更有越来越多的人开始学习嵌入式系统开发。本章将向读者介绍嵌入式系统的基本知识。本章主要内容:

嵌入式系统概述。

嵌入式系统的组成。

嵌入式系统开发举例。

嵌入式系统开发概述。1.1 嵌入式系统概述1.1.1 嵌入式系统简介

经过30多年的发展,嵌入式系统已经广泛地渗透到人们的学习、工作、生活中,并已应用在科学研究、工程设计、军事技术及人们日常生活的方方面面。表1-1列举了嵌入式系统应用的部分领域。表1-1 嵌入式系统应用领域举例

随着数字信息技术和网络技术的飞速发展,计算机、通信、消费电子的一体化趋势日益明显,这必将培育出一个庞大的嵌入式应用市场,嵌入式系统技术也成为了当前人们关注、学习和研究的热点。那究竟什么是嵌入式系统呢?嵌入式系统本身是一个相对模糊的定义,不同的组织对其定义也略有不同。

按照电器工程协会(IEEE)的定义,嵌入式系统是用来控制、监控或者辅助操作机器、装置、工厂等大规模系统的设备(Devices used to control, monitor, or assist the operation of equipment, machinery or plants),这个定义主要是从嵌入式系统的用途方面来进行定义的。

在多数书籍资料中使用的关于嵌入式系统的定义为:嵌入式系统是指以应用为中心,以计算机技术为基础,软件、硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

根据以上嵌入式系统的定义我们可以看出,嵌入式系统是由硬件和软件相结合组成的具有特定功能、用于特定场合的独立系统。其硬件主要由嵌入式微处理器、外围硬件设备组成;其软件主要包括底层系统软件和用户应用软件。1.1.2 嵌入式系统的特点

嵌入式系统具有以下特点:(1)专用,软硬件可剪裁、可配置。从嵌入式系统的定义可以看出,嵌入式系统是面向应用的,与通用系统最大的区别在于嵌入式系统功能专一。根据这个特性,嵌入式系统的软、硬件可以根据需要进行精心设计、量体裁衣、去除冗余,以实现低成本、高性能。也正因如此,嵌入式系统采用的微处理器和外围设备种类繁多,系统不具通用性。(2)低功耗、高可靠性、高稳定性。嵌入式系统大多应用在特定场合,要么是环境条件恶劣,要么要求其长时间连续运转,因此嵌入式系统应具有高可靠性、高稳定性、低功耗等性能。(3)软件代码短小精悍。由于成本和应用场合的特殊性,通常嵌入式系统的硬件资源(如内存等)都比较少,因此对嵌入式系统设计也提出了较高的要求。尤其是嵌入式系统对软件设计高质量的要求,要在有限的资源上实现高可靠性、高性能的系统。虽然随着硬件技术的发展和成本的降低,在高端嵌入式产品上也开始采用嵌入式操作系统,但其和PC资源比起来还是少得可怜,所以嵌入式系统的软件代码依然要在保证性能的情况下占用尽量少的资源,保证产品的高性价比,使其具有更强的竞争力。(4)代码可固化。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘中。(5)实时性。很多采用嵌入式系统的应用具有实时性要求,所以大多数嵌入式系统采用实时性系统。但需要注意的是,嵌入式系统不等于实时系统。(6)弱交互性。嵌入式系统不仅功能强大,而且要求使用灵活方便,一般不需要类似键盘、鼠标等设备。人机交互以简单方便为主。(7)嵌入式系统软件开发通常需要专门的开发工具和开发环境。(8)要求开发、设计人员有较高的技能。嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统,从事嵌入式系统开发的人才也必须是复合型人才。1.1.3 嵌入式系统的发展

1.嵌入式系统发展的4个阶段

第一阶段是以单芯片为核心的可编程控制器形式的系统。这类系统大部分应用于一些专业性强的工业控制系统中,一般没有操作系统的支持,软件通过汇编语言编写。这一阶段系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简单、价格低,因此以前在国内工业领域应用较为普遍,但是现在已经远不能适应高效的、需要大容量存储的现代工业控制和新兴信息家电等领域的需求。

第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。其主要特点是:CPU种类繁多,通用性比较弱;系统开销小,效率高;操作系统达到一定的兼容性和扩展性;应用软件较专业化,用户界面不够友好。

第三阶段是以嵌入式操作系统为标志的嵌入式系统。其主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理,支持多任务,支持网络应用,具备图形窗口和用户界面;具有大量的应用程序接口API,开发应用程序较简单;嵌入式应用软件丰富。

第四阶段是以Internet为标志的嵌入式系统。这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展及Internet技术与信息家电、工业控制技术的结合日益密切,嵌入式设备与Internet的结合将代表嵌入式系统的未来。

2.未来嵌入式系统的主要发展趋势(1)小型化、智能化、网络化、可视化。随着技术水平的提高和人们生活的需要,嵌入式设备(尤其是消费类产品)正朝着小型化、便携式和智能化的方向发展。如果你携带笔记本电脑外出办事,你肯定希望它轻薄小巧,甚至你可能希望有一种更便携的设备来替代它,目前的上网本、MID(移动互联网设备)、便携投影仪等都是因类似的需求而出现的。对嵌入式而言,可以说已经进入了嵌入式互联网时代(有线网、无线网、广域网、局域网的组合),嵌入式设备和互联网的紧密结合,更为我们的日常生活带来了极大的方便和无限的想象空间。嵌入式设备功能越来越强大,未来,我们的冰箱、洗衣机等家用电器都将实现网上控制;异地通信、协同工作、无人操控场所、安全监控场所等的可视化也已经成为了现实,而且随着网络运载能力的提升,可视化将得到进一步完善。人工智能、模式识别技术也将在嵌入式系统中得到应用,使得嵌入式系统更具人性化、智能化。(2)多核技术的应用。人们需要处理的信息越来越多,这就要求嵌入式设备运算能力更强,因此需要设计出更强大的嵌入式处理器,多核技术处理器在嵌入式中的应用将更为普遍。(3)低功耗(节能)、绿色环保。在嵌入式系统的硬件和软件设计中都在追求更低的功耗,以求嵌入式系统能获得更长的可靠工作时间,如手机的通话和待机时间、MP3听音乐的时间等。同时,绿色环保型嵌入式产品将更受人们的青睐,在嵌入式系统设计中也会更多地考虑辐射和静电等问题。(4)云计算、可重构、虚拟化等技术被进一步应用到嵌入式系统中。简单地讲,云计算是将计算分布在大量的分布式计算机上,这样我们只需要一个终端,就可以通过网络服务来实现我们需要的计算任务,甚至是超级计算任务。云计算(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。在未来几年里,云计算将得到进一步的发展与应用。

可重构性是指在一个系统中,其硬件模块或(和)软件模块均能根据变化的数据流或控制流对系统结构和算法进行重新配置(或重新设置)。可重构系统最突出的优点就是能够根据不同的应用需求,改变自身的体系结构,以便与具体的应用需求相匹配。

虚拟化是指计算机软件在一个虚拟的平台上而不是在真实的硬件上运行。虚拟化技术可以简化软件的重新配置过程,易于实现软件的标准化。其中CPU的虚拟化可以单CPU模拟多CPU并行运行,允许一个平台同时运行多个操作系统,并且都可以在相互独立的空间内运行而互不影响,从而提高工作效率和安全性。虚拟化技术是降低多内核处理器系统开发成本的关键。虚拟化技术是未来几年最值得期待和关注的关键技术之一。

随着各种技术的成熟与在嵌入式系统中的应用,将不断为嵌入式系统增添新的魅力和发展空间。(5)嵌入式软件开发平台化、标准化、系统可升级、代码可复用将更受重视。嵌入式操作系统将进一步走向开放、开源、标准化、组件化。嵌入式软件开发平台化也将是今后的一个趋势,越来越多的嵌入式软硬件行业标准将出现,最终的目标是使嵌入式软件开发简单化,这也是一个必然规律。同时随着系统复杂度的提高,系统可升级和代码复用技术在嵌入式系统中得到更多的应用。另外,因为嵌入式系统采用的微处理器种类多,不够标准,所以在嵌入式软件开发中将更多地使用跨平台的软件开发语言与工具。目前,Java语言正在被越来越多地应用到嵌入式软件开发中。(6)嵌入式系统软件将逐渐 PC 化。需求和网络技术的发展是嵌入式系统发展的一个原动力,随着移动互联网的发展,将进一步促进嵌入式系统软件PC化。如前所述,结合跨平台开发语言的广泛应用,那么未来嵌入式软件开发的概念将被逐渐淡化,也就是说,嵌入式软件开发和非嵌入式软件开发的区别将逐渐减小。(7)融合趋势。嵌入式系统软硬件融合、产品功能融合、嵌入式设备和互联网的融合趋势加剧。嵌入式系统设计中软硬件结合将更加紧密,软件将是其核心。消费类产品将在运算能力和便携方面进一步融合。传感器网络将迅速发展,从而极大地促进嵌入式技术和互联网技术的融合。(8)安全性。随着嵌入式技术和互联网技术的结合发展,嵌入式系统的信息安全问题日益凸显,保证信息安全也成为了嵌入式系统开发的重点和难点。1.2 嵌入式系统的组成

嵌入式系统总体上是由硬件和软件组成的,硬件是其基础,软件是其核心与灵魂,它们之间的关系如图1-1所示。图1-1 嵌入式系统结构简图1.2.1 嵌入式系统硬件组成

嵌入式系统硬件设备包括嵌入式处理器和外围设备。其中,嵌入式处理器(CPU)是嵌入式系统的核心部分,它与通用处理器最大的区别在于,嵌入式处理器大多工作在为特定用户群所专门设计的系统中,它将通用处理器中许多由板卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。如今,全世界嵌入式处理器已经超过1000多种,流行的体系结构有30多个系列,其中以ARM、PowerPC、MC 68000、MIPS等使用得最为广泛。

外围设备是嵌入式系统中用于完成存储、通信、调试、显示等辅助功能的其他部件。目前常用的嵌入式外围设备按功能可以分为存储设备(如RAM、SRAM、Flash等)、通信设备(如RS-232接口、SPI接口、以太网接口等)和显示设备(如显示屏等)3类。

常见存储器概念辨析:RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash

存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中RAM的访问速度比较快,但掉电后数据会丢失,而ROM掉电后数据不会丢失。人们通常所说的内存即指系统中的RAM。

RAM又可分为SRAM(静态存储器)和DRAM(动态存储器)。SRAM是利用双稳态触发器来保存信息的,只要不掉电,信息是不会丢失的。DRAM是利用MOS(金属氧化物半导体)电容存储电荷来存储信息,因此必须通过不停地给电容充电来维持信息,所以DRAM的成本、集成度、功耗等明显高于SRAM。

而通常人们所说的SDRAM是DRAM的一种,它是同步动态存储器,利用一个单一的系统时钟同步所有的地址数据和控制信号。使用SDRAM不但能提高系统表现,还能简化设计,提供高速的数据传输。它在嵌入式系统中经常使用。

EPROM、EEPROM都是ROM的一种,分别为可擦除可编程ROM和电可擦可编程ROM,但使用不是很方便。

Flash也是一种非易失性存储器(掉电不会丢失),它擦写方便,访问速度快,已大大取代了传统的EPROM的地位。由于它具有和ROM一样掉电不会丢失的特性,因此很多人称其为Flash ROM。1.2.2 嵌入式系统软件组成

在嵌入式系统不同的应用领域和不同的发展阶段,嵌入式系统软件组成也不完全相同,如图1-2所示。图1-2 嵌入式系统软件组成图

图1-2左侧显示,在某些领域中,嵌入式系统没有使用操作系统。嵌入式操作系统从嵌入式发展的第三阶段开始引入。嵌入式操作系统不仅具有通用操作系统的一般功能,如向上提供对用户的接口(如图形界面、库函数API等),向下提供与硬件设备交互的接口(硬件驱动程序等),管理复杂的系统资源,同时,它还在系统实时性、硬件依赖性、软件固化性及应用专用性等方面具有更加鲜明的特点。

应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于嵌入式系统自身的特点,决定了嵌入式应用软件不仅要求具有准确性、安全性和稳定性,而且还要尽可能地进行代码优化,以减少对系统资源的消耗,降低硬件成本。1.3 嵌入式操作系统举例

嵌入式操作系统主要有商业版和开源版两大阵营,从长远来看,嵌入式系统开源、开发将是其发展趋势。1.3.1 商业版嵌入式操作系统

下面简单地列举VxWorks、Windows CE两种商业版嵌入式操作系统。

1.VxWorks

VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它是在当前市场占有率最高的嵌入式实时操作系统。VxWorks的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,使得它们造成的延迟很短。VxWorks提供的多任务机制,对任务的控制采用了优先级抢占(Linux 2.6内核也采用了优先级抢占的机制)和轮转调度机制,这充分保证了可靠的实时性,并使同样的硬件配置能满足更强的实时性要求。另外,VxWorks具有高度的可靠性,从而保证了用户工作环境的稳定。同时,VxWorks还具有很完备强大的集成开发环境,这也大大方便了用户的使用。

但是,由于VxWorks的开发和使用都需要交高额的专利费,因此大大增加了用户的开发成本。同时,由于VxWorks的源码不公开,造成它部分功能的更新(如网络功能模块)滞后。

2.Windows CE

Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统。它是精简的Windows 95。Windows CE的图形用户界面相当出色,同时具有模块化、结构化和基于Win32应用程序接口及与处理器无关等特点。它不仅继承了传统的Windows图形界面,并且用户在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等),也可以使用同样的函数、同样的界面风格,从而使绝大多数Windows上的应用软件只需简单地修改和移植就可以在Windows CE平台上继续使用。但与VxWorks相同,Windows CE也是要收费的,但相对于VxWorks要经济很多。1.3.2 开源版嵌入式操作系统

嵌入式Linux(Embedded Linux)是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几千字节或者几兆字节的存储器芯片或者单片机中,是适合于特定嵌入式应用场合的专用Linux操作系统。在目前已经开发成功的嵌入式系统中,大约有一半使用的是Linux,这与它自身的优良特性是分不开的。

嵌入式Linux同Linux一样,具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点。另外,为了更好地适应嵌入式领域的开发,嵌入式Linux还在Linux的基础上做了部分改进。

1.改善的内核结构

Linux内核采用的是整体式结构(Monolithic),整个内核是一个单独的、非常大的程序,这样虽然能够使系统的各个部分直接沟通,提高系统响应速度,但与嵌入式系统存储容量小、资源有限的特点不相符合。因此,在嵌入式系统中经常采用的是另一种称为微内核(Microkernel)的体系结构,即内核本身只提供一些最基本的操作系统功能,如任务调度、内存管理、中断处理等,而类似于文件系统和网络协议等附加功能则运行在用户空间中,并且可以根据实际需要进行取舍。这样就大大减小了内核的体积,便于维护和移植。

2.提高的系统实时性

由于现有的Linux是一个通用的操作系统,虽然它也采用了许多技术来加快系统的运行和响应速度,但从本质上来说并不是一个嵌入式实时操作系统。因此,利用Linux作为底层操作系统,在其上进行实时化改造,从而构建出一个具有实时处理能力的嵌入式系统,如RT-Linux已经成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特技图像处理等领域。

嵌入式Linux同Linux一样,也有众多的版本,其中不同的版本分别针对不同的需要在内核等方面加入了特定的机制。嵌入式Linux的主要版本如表1-2所示。表1-2 嵌入式Linux的主要版本1.4 嵌入式系统开发概述

由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发三大部分,其总体流程图如图1-3所示。图1-3 嵌入式系统开发流程图

在系统总体开发中,由于嵌入式系统与硬件依赖程序非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出选择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。

另一方面,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择及开发工具的选择等。本书在1.3节对各种不同的嵌入式操作系统进行了比较,读者可以此为依据进行相关的选择。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择VxWorks等。

嵌入式软件开发总体流程为图1-3中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。

嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。

嵌入式软件的开发工具根据不同的开发过程而划分,如在需求分析阶段可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(ADS的一个工具)等,在调试阶段采用Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如VxWorks的集成开发环境Tornado、Windows CE的集成开发环境WinCE Platform等。此外,不同的处理器可能还有针对的开发工具,比如ARM的常用集成开发工具ADS、realview等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。

嵌入式系统的软件开发与通用软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。

1.交叉编译

嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译,就是在一个平台上生成可以在另一个平台上执行的代码。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同的CPU对应语言。需要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图1-4所示。图1-4 交叉编译环境

这里一般把进行交叉编译的主机称为宿主机,也就是普通的通用计算机,而把程序实际的运行环境称为目标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,没有相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。

由于编译的过程包括编译、链接等几个阶段,因此,嵌入式的交叉编译也包括交叉编译、交叉链接等过程。通常ARM的交叉编译器为arm-elf-gcc,交叉链接器为arm-elf-ld,交叉编译过程如图1-5所示。图1-5 嵌入式交叉编译过程

2.交叉调试

嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少的一个环节。嵌入式软件开发过程中的交叉调试与通用软件开发过程中的调试方式有很大的差别。在常见软件开发中,调试器与被调试的程序往往运行在同一台计算机上,调试器是一个单独运行的进程,它通过操作系统提供的调试接口来控制被调试的进程。而在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试,调试器仍然运行在宿主机的通用操作系统之上,但被调试的进程却是运行在基于特定硬件平台的嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能改变被调试进程的运行状态。

嵌入式系统的交叉调试有多种方法,主要可分为软件方式和硬件方式两种,它们一般具有如下典型特点:(1)调试器和被调试进程运行在不同的机器上,调试器运行在PC或者工作站上(宿主机),而被调试的进程则运行在各种专业调试板上(目标机)。(2)调试器通过某种通信方式(串口、并口、网络、JTAG等)控制被调试进程。(3)在目标机上一般会具备某种形式的调试代理,它负责与调试器共同配合完成对目标机上运行的进程的调试。这种调试代理可能是某些支持调试功能的硬件设备,也可能是某些专门的调试软件(如GdbServer)。(4)目标机可能是某种形式的系统仿真器,通过在宿主机上运行目标机的仿真软件,整个调试过程可以在一台计算机上运行。此时物理上虽然只有一台计算机,但逻辑上仍然存在着宿主机和目标机的区别。

下面分别就软件调试桩方式和硬件片上调试两种方式进行详细介绍。

1)软件方式

软件方式调试主要是通过插入调试桩的方式来进行的。调试桩方式进行调试是通过在目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行调试的。该方式的典型调试器有GDB调试器。

GDB的交叉调试器分为GdbServer和GdbClient,其中的GdbServer就作为调试桩安装在目标板上,GdbClient就是驻于本地的GDB调试器。它们的调试原理图如图1-6所示。图1-6 GDB远程调试原理图

GDB调试桩的工作流程如下:(1)建立调试器(本地GDB)与目标操作系统的通信连接,可通过串口、网卡、并口等多种方式。(2)在目标机上开启GdbServer进程,并监听对应端口。(3)在宿主机上运行调试器GDB,这时,GDB就会自动寻找远端的通信进程,也就是GdbServer的所在进程。(4)在宿主机上的GDB通过GdbServer请求对目标机上的程序发出控制命令。这时,GdbServer将请求转换为程序的地址空间或目标平台的某些寄存器的访问,这对于没有虚拟存储器的简单的嵌入式操作系统而言,是十分容易的。(5)GdbServer把目标操作系统的所有异常处理转向通信模块,并告知宿主机上GDB当前异常。(6)宿主机上的GDB向用户显示被调试程序产生了哪一类异常。

这样就完成了调试的整个过程。

这个方案的实质是用软件接管目标机的全部异常处理及部分中断处理,并在其中插入调试端口通信模块,与主机的调试器进行交互。但是它只能在目标机系统初始化完毕、调试通信端口初始化完成后才能起作用,因此,一般只能用于调试运行于目标操作系统之上的应用程序,而不宜用来调试目标操作系统的内核代码及启动代码。而且它必须改变目标操作系统,因此,也就多了一个不用于正式发布的调试版。

2)硬件调试

相对于软件调试而言,使用硬件调试器可以获得更强大的调试功能和更优秀的调试性能。硬件调试器的基本原理是通过仿真硬件的执行过程,让开发者在调试时可以随时了解系统的当前执行情况。目前嵌入式系统开发中最常用到的硬件调试器是ROMMonitor、ROMEmulator、In-CircuitEmulator和In-CircuitDebugger。(1)采用ROMMonitor方式进行交叉调试需要在宿主机上运行调试器,在目标机上运行ROM监视器(ROMMonitor)和被调试程序,宿主机通过调试器与目标机上的ROM监视器遵循远程调试协议建立通信连接。ROM监视器可以是一段运行在目标机ROM上的可执行程序,也可以是一个专门的硬件调试设备,它负责监控目标机上被调试程序的运行情况,能够与宿主机端的调试器一同完成对应用程序的调试。

在使用这种调试方式时,被调试程序首先通过ROM监视器下载到目标机,然后在ROM监视器的监控下完成调试。

优点:ROM监视器功能强大,能够完成设置断点、单步执行、查看寄存器、修改内存空间等各项调试功能。

缺点:同软件调试一样,使用ROM监视器,目标机和宿主机必须建立通信连接。

其原理图如图1-7所示。图1-7 ROMMonitor调试方式(2)采用ROMEmulator方式进行交叉调试时需要使用ROM仿真器,并且它通常被插入到目标机上的ROM插槽中,专门用于仿真目标机上的ROM芯片。

在使用这种调试方式时,被调试程序首先下载到ROM仿真器中,等效于下载到目标机的ROM芯片上,然后在ROM仿真器中完成对目标程序的调试。

优点:避免了每次修改程序后都必须重新烧写到目标机的ROM中。

缺点:ROM仿真器本身比较昂贵,功能相对来讲又比较单一,只适应于某些特定场合。

其原理图如图1-8所示。图1-8 ROMEmulator调试方式(3)采用In-CircuitEmulator(ICE)方式进行交叉调试时需要使用在线仿真器,它是目前最为有效的嵌入式系统的调试手段。它是仿照目标机上的CPU而专门设计的硬件,可以完全仿真处理器芯片的行为。仿真器与目标板可以通过仿真头连接,与宿主机可以通过串口、并口、网线或USB口等方式连接。由于仿真器自成体系,所以调试时既可以连接目标板,也可以不连接目标板。在线仿真器提供了非常丰富的调试功能。在使用在线仿真器进行调试的过程中,可以按顺序单步执行,也可以倒退执行,还可以实时查看所有需要的数据,从而给调试过程带来了很多的便利。嵌入式系统应用的一个显著特点是与现实世界中的硬件直接相关,并存在各种异变和事先未知的变化,从而给微处理器的指令执行带来了各种不确定因素,这种不确定性在目前情况下只有通过在线仿真器才有可能发现。

优点:功能强大,软硬件都可做到完全实时在线调试。

缺点:价格昂贵。

其原理图如图1-9所示。图1-9 ICE调试方式(4)采用In-CircuitDebugger(ICD)方式进行交叉调试时需要使用在线调试器。由于ICE的价格非常昂贵,并且每种CPU都需要一种与之对应的ICE,使得开发成本非常高。一个比较好的解决办法是让CPU直接在其内部实现调试功能,并通过在开发板上引出的调试端口发送调试命令和接收调试信息,完成调试过程。如使用非常广泛的ARM处理器的JTAG端口技术就是由此诞生的。

JTAG是1985年指定的检测PCB和IC芯片的一个标准。1990年被修改成为IEEE的一个标准,即IEEE1149.1。JTAG标准所采用的主要技术为边界扫描技术,它的基本思想就是在靠近芯片的输入/输出引脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器(Boundary-Scan Register Cell)。

当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入/输出隔离开。通过这些边界扫描寄存器单元,可以实现对芯片输入/输出信号的观察和控制。对于芯片的输入脚,可通过与之相连的边界扫描寄存器单元把信号(数据)加载到该管脚中;对于芯片的输出引脚,可以通过与之相连的边界扫描寄存器单元“捕获”(Capture)该引脚的输出信号。这样,边界扫描寄存器就提供了一个便捷的方式用于观测和控制所需要调试的芯片。

现在较为高档的微处理器都带有JTAG接口,包括ARM7、ARM9、StrongARM、DSP等,通过JTAG接口可以方便地对目标系统进行测试,同时,还可以实现Flash的编程,非常受欢迎。

优点:连接简单,成本低。

缺点:特性受制于芯片厂商。

其原理图如图1-10所示。图1-10 JTAG调试方式1.5 本章小结

本章向读者简单介绍了嵌入式系统的概念、特点、发展及开发等问题。通过本章的学习,希望读者能对嵌入式系统和嵌入式系统开发有一个基本了解,以便为后面章节的学习打下基础。1.6 本章习题

1.什么是嵌入式系统?列举几个你身边熟悉的嵌入式系统的产品。

2.嵌入式系统由哪几部分组成?

3.列举3种你知道的嵌入式操作系统。

4.简述嵌入式系统的特点。第2章 ARM技术概述

ARM体系结构的处理器在嵌入式中的应用非常广泛,本章将向读者介绍ARM处理器的基本知识。本章主要内容:

ARM体系结构的技术特征及发展。

ARM微处理器简介。

ARM 微处理器结构。

ARM 微处理器的应用选型。

ARM920T内部功能及特点。

数据类型。

ARM920T存储系统。

流水线。

寄存器组织。

程序状态寄存器。

三星S3C2410X处理器介绍。2.1 ARM体系结构的技术特征及发展

ARM(Advanced RISC Machines)有3种含义,它是一个公司的名称,是一类微处理器的通称,还是一种技术的名称。2.1.1 ARM公司简介

1991年,ARM公司(Advanced RISC Machine Limited)成立于英国剑桥,最早由Acorn、Apple和VLSI合资成立,主要出售芯片设计技术的授权。1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生(在美国VLSI公司制造)。目前,ARM架构处理器已在高性能、低功耗、低成本的嵌入式应用领域中占据了领先地位。

ARM公司最初只有12人,经过十多年的发展,ARM公司已拥有近千名员工,在许多国家都设立了分公司,包括ARM公司在中国上海的分公司。目前,采用ARM技术知识产权(IP)核的微处理器,即通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器80%以上的市场份额,其中,在手机市场,ARM占有绝对的垄断地位。可以说,ARM技术正在逐步渗透到人们生活中的各个方面,而且随着32位CPU价格的不断下降和开发环境的不断成熟,ARM技术会应用得越来越广泛。

ARM公司是专门从事基于RISC技术芯片设计开发的公司。作为嵌入式RISC处理器的知识产权IP供应商,公司本身并不直接从事芯片生产,而是靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,其中包括Intel、IBM、Samsung、LG半导体、NEC、Sony、Philip等公司,这也使得ARM技术获得了更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场并被消费者所接受,更具有竞争力。2.1.2 ARM技术特征

ARM的成功,一方面得益于它独特的公司运作模式,另一方面来自于ARM处理器自身的优良性能。作为一种先进的RISC处理器,ARM处理器有如下特点:(1)体积小、低功耗、低成本、高性能。(2)支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件。(3)大量使用寄存器,指令执行速度更快。(4)大多数数据操作都在寄存器中完成。(5)寻址方式灵活简单,执行效率高。(6)指令长度固定。

此处有必要解释一下RISC处理器的概念及与CISC微处理器的区别。

1.嵌入式RISC微处理器

RISC(Reduced Instruction Set Computer)是精简指令集计算机,它把着眼点放在如何使计算机的结构更加简单和如何使计算机的处理速度更加快速上。RISC选取了使用频率最高的简单指令,抛弃复杂指令,固定指令长度,减少指令格式和寻址方式,不用或少用微码控制。这些特点使得RISC非常适合嵌入式处理器。

2.嵌入式CISC微处理器

传统的复杂指令级计算机(CISC)则更侧重于硬件执行指令的功能性,使CISC指令及处理器的硬件结构变得更加复杂。这些会导致成本、芯片体积的增加,影响其在嵌入式产品中的应用。表2-1所示描述了RISC和CISC的主要区别。表2-1 RISC和CISC的主要区别2.1.3 ARM体系结构的发展

在讨论ARM体系结构之前,先解释体系结构的定义。

体系结构,定义了指令集(ISA)和基于这一体系结构下处理器的编程模型。基于同种体系结构可以有多种处理器,每个处理器性能不同,所面向的应用不同。每个处理器的实现都要遵循这一体系结构。ARM体系结构为嵌入系统发展商提供了很高的系统性能,同时保持优异的功耗和面积效率。

ARM体系结构为满足ARM合作者及设计领域的一般需求正稳步发展。目前,ARM体系结构共定义了7个版本,从版本1到版本7,ARM体系的指令集功能不断扩大。不同系列的ARM处理器性能差别很大,应用范围和对象也不尽相同,但是,如果是相同的ARM体系结构,那么基于它们的应用软件是兼容的。

1.V1结构

V1版本的ARM处理器并没有实现商品化,采用的地址空间是26位,寻址空间是64MB,在目前的版本中已不再使用这种结构。

2.V2结构

与V1结构的ARM处理器相比,V2结构的ARM处理器的指令结构要有所完善,比如增加了乘法指令并且支持协处理器指令,但该版本的处理器仍然是26位的地址空间。

3.V3结构

从V3结构开始,ARM处理器的体系结构有了很大的改变,实现了32位的地址空间,指令结构相对前面的两种结构也有所完善。

4.V4结构

V4结构的ARM处理器增加了半字指令的读取和写入操作,增加了处理器系统模式,并且有了T变种——V4T,在Thumb状态下所支持的是16位的Thumb指令集。属于V4T(支持Thumb指令)体系结构的处理器(核)有ARM7TDMI、ARM7TDMI-S (ARM7TDMI可综合版本)、ARM710T(ARM7TDMI核的处理器)、ARM720T (ARM7TDMI核的处理器)、ARM740T(ARM7TDMI核的处理器)、ARM9TDMI、ARM910T(ARM9TDMI核的处理器)、ARM920T(ARM9TDMI核的处理器)、ARM940T (ARM9TDMI核的处理器)和StrongARM(Intel公司的产品)。

5.V5结构

V5结构的ARM处理器提升了ARM和Thumb两种指令的交互工作能力,同时有了DSP指令-V5E结构、Java指令-V5J结构的支持。

属于V5T(支持Thumb指令)体系结构的处理器(核)有ARM10TDMI、ARM1020T (ARM10TDMI核处理器)。

属于V5TE(支持Thumb、DSP指令)体系结构的处理器(核)有ARM9E、ARM9E-S (ARM9E可综合版本)、ARM946(ARM9E核的处理器)、ARM966(ARM9E核的处理器)、ARM10E、ARM1020E(ARM10E核处理器)、ARM1022E(ARM10E核的处理器)和Xscale(Intel公司产品)。

属于V5TEJ(支持Thumb、DSP指令、Java指令)体系结构的处理器(核)有ARM9EJ、ARM9EJ-S(ARM9EJ可综合版本)、ARM926EJ(ARM9EJ核的处理器)和ARM10EJ。

6.V6结构

V6结构是在2001年发布的,在该版本中增加了媒体指令,属于V6体系结构的处理器核有ARM11(2002年发布)。V6体系结构包含ARM体系结构中所有的4种特殊指令集:Thumb指令(T)、DSP指令(E)、Java指令(J)和Media指令。

7.V7结构

ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销,同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用及传统嵌入式控制应用的需求。

Cortex系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A3类。

本章的2.2.8节将会列举一些Cortex的特性。2.2 ARM微处理器简介

ARM处理器的产品系列非常广,包括ARM7、ARM9、ARM9E、ARM10E、ARM11 和SecurCore、Cortex等。每个系列提供一套特定的性能来满足设计者对功耗、性能、体积的需求。SecurCore是单独一个产品系列,是专门为安全设备而设计的。

表2-2总结了ARM各系列处理器所包含的不同类型。表2-2 ARM各系列处理器所包含的不同类型续表2.2.1 ARM7处理器系列

ARM7内核采用冯·诺伊曼体系结构,数据和指令使用同一条总线。内核有一条3级流水线,执行ARMv4指令集。

ARM7系列处理器主要用于对功耗和成本要求比较苛刻的消费类产品,其最高主频可以到达130MIPS。ARM7系列包括ARM7TDMI、ARM7TDMI-S、ARM7EJ-S和ARM720T 4种类型,用来适应不同的市场需求。

ARM7系列处理器主要具有以下特点:(1)成熟的大批量的32位RICS芯片。(2)最高主频达到130MIPS。(3)功耗低。(4)代码密度高,兼容16位微处理器。(5)开发工具多,EDA仿真模型多。(6)调试机制完善。(7)提供0.25mm、0.18mm及0.13mm的生产工艺。(8)代码与ARM9系列、ARM9E系列及ARM10E系列兼容。

ARM7系列处理器主要应用于以下场合:(1)个人音频设备(MP3播放器、WMA播放器、AAC播放器)。(2)接入级的无线设备。(3)喷墨打印机。(4)数码照相机。(5)PDA。2.2.2 ARM9处理器系列

ARM9系列于1997年问世。由于采用了5级指令流水线,ARM9处理器能够运行在比ARM7更高的时钟频率上,改善了处理器的整体性能;存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分了数据总线和指令总线。

ARM9系列的第一个处理器是ARM920T,它包含独立的数据指令Cache和MMU (Memory Management Unit,存储器管理单元)。此处理器能够用在要求有虚拟存储器支持的操作系统上。该系列中的ARM922T是ARM920T的变种,只有一半大小的数据指令Cache。

ARM940T包含一个更小的数据指令Cache和一个MPU(Micro Processor Unit,微处理器),它是针对不要求运行操作系统的应用而设计的。ARM920T、ARM940T都执行V4T架构指令。

ARM9系列处理器主要应用于以下场合:(1)下一代无线设备,包括视频电话和PDA等。(2)数字消费品,包括机顶盒、家庭网关、MP3播放器和MPEG-4播放器。(3)成像设备,包括打印机、数码照相机和数码摄像机。(4)汽车、通信和信息系统。2.2.3 ARM9E处理器系列

ARM9系列的下一代处理器基于ARM9E-S内核,这个内核是ARM9内核带有E扩展的一个可综合版本,包括ARM946E-S和ARM966E-S两个变种。两者都执行V5TE架构指令。它们也支持可选的嵌入式跟踪宏单元,支持开发者实时跟踪处理器上指令和数据的执行。当调试对时间敏感的程序段时,这种方法非常重要。

ARM946E-S包括TCM(Tightly Coupled Memory,紧耦合存储器)、Cache和一个MPU。TCM和Cache的大小可配置。该处理器是针对要求有确定的实时响应的嵌入式控制而设计的。ARM966E-S有可配置的TCM,但没有MPU和Cache扩展。

ARM9系列的ARM926EJ-S内核为可综合的处理器内核,发布于2000年。它是针对小型便携式Java设备,如3G手机和PDA应用而设计的。ARM926EJ-S是第一个包含Jazelle的技术,可加速Java字节码执行的ARM处理器内核。它还有一个MMU、可配置的TCM及具有零或非零等待存储器的数据/指令Cache。

ARM9E系列处理器主要应用于以下场合:(1)下一代无线设备,包括视频电话和PDA等。(2)数字消费品,包括机顶盒、家庭网关、MP3播放器和MPEG-4播放器。(3)成像设备,包括打印机、数码照相机和数码摄像机。(4)存储设备,包括DVD或HDD等。(5)工业控制,包括电机控制等。(6)汽车、通信和信息系统的ABS和车体控制。(7)网络设备,包括VoIP、WirelessLAN等。2.2.4 ARM11处理器系列

ARM1136J-S发布于2003年,是针对高性能和高能效应而设计的。ARM1136J-S是第一个执行ARMv6架构指令的处理器,它集成了一条具有独立的Load/Store和算术流水线的8级流水线。ARMv6指令包含了针对媒体处理的单指令流多数据流扩展,采用特殊的设计改善视频处理能力。2.2.5 SecurCore处理器系列

SecurCore系列处理器提供了基于高性能的32位RISC技术的安全解决方案。SecurCore系列处理器除了具有体积小、功耗低、代码密度高等特点外,还具有其独特的优势,即提供了安全解决方案支持。下面总结了SecurCore系列的主要特点:(1)支持ARM指令集和Thumb指令集,以提高代码密度和系统性能。(2)采用软内核技术以提供最大限度的灵活性,可以防止外部对其进行扫描探测。(3)提供了安全特性,可以抵制攻击。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载