基于ARM的嵌入式开发技术Word文件下载.docx
《基于ARM的嵌入式开发技术Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于ARM的嵌入式开发技术Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
嵌入式系统的定义是:
“嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。
”嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器,但是功能比通用计算机专门化,具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。
关键词:
ARM,嵌入,Linux,微处理器,RTOS
abstract
Intoday'
sinformationage,applicationoftheembeddedsystemiseverywhere,andARMembeddedsystemapplicationmarketshareofabout75%.Fromthebasicconceptofembeddedsystem,respectivelyfromtheARMofthedefinition,theARMmicroprocessor,ARMdevelopmenttoolsanddebuggingmethodtointroduceARMembeddedsystembasicknowledge.Then,discussedtheARMembeddedsystem,thispaperintroducesthereal-timedemandonthemarketatpresentreal-timemultitaskingoperatingsystem(RTOS).Finally,summarizedtheARMtechnologyapplicationandindustrializationdevelopment,andpredicttheprospectofthedevelopmentofARMtechnology.
ARMiscurrentlyacceptedleading32-bitembeddedRISC(reducedinstructioncomputer)microprocessor.ARMtechnologymaturesandcontinuousdevelopment,isgraduallypenetratedintoallaspectsofourlives.Thisarticleembarksfromthereality,firstintroducesthebasicconceptofembeddedsystem,andthenfocusesontheARMmicroprocessorconsistingoftheembeddedsystem(referredtoastheARMembeddedsystem),andfinallyanalysesthebasicknowledgeofARMtechnologyindustrializationdevelopmentprocessanddevelopmenttrend.
EmbeddedSystemEnglishcalledEmbeddedSystem,itisakindofincludingtheintegrityofthehardwareandsoftwareofthecomputerSystem,butwithgeneralcomputerSystemisdifferent.Embeddedsystemisdefinedas:
"
theembeddedsystemisusedasthecenter,takethecomputertechnologyasthefoundation,andsoftwareandhardwarecanbecut,itissuitableforapplicationsystemtothefunction,reliability,cost,volumeandpowerconsumptionhasthestrictrequestforthecomputersystem."
Embeddedsystemusedbycomputerisembeddedtothecontrolledobjectofthespecialmicroprocessor,butfunctionthangeneralcomputerspecialization,withgeneralcomputercanhaveforaspecificdesign,
Keywords:
ARM,embedded,Linux,microprocessors,RTOS
目录
摘要………………………………………………………………………………………1
Abstract…………………………………………………………………………………1
1.绪论……………………………………………………………………………………1
1.1ARM概述………………………………………………………………1
2.ARM微处理器概述…………………………………………………………………2
2.1ARM的体系结构………………………………………………………………2
2.2ARM微处理器的寄存器结构…………………………………………………2
2.3ARM微处理器的指令结构……………………………………………………3
2.4ARM微处理器产品简述………………………………………………………4
2.5ARM处理器的性能特征………………………………………………………4
2.6ARM的异常……………………………………………………………………4
3.ARM系统的设计……………………………………………………………………5
3.1硬件设计…………………………………………………………………………5
3.2软件设计与实现…………………………………………………………………5
4.ARM的前景…………………………………………………………………………6
结论………………………………………………………………………………………7
参考文献………………………………………………………………………………7
1.1ARM概述
ARM(AdvancedRISCMachines),既可认为是一个公司的名字,也可认为是对一类微处理器的通称,还可认为是一种技术的名字。
1990年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。
目前,采用ARM技术知识产权IP核的微处理器,即通常所说的ARM微处理器,己遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统、军用系统等各类产品市场,基于ARM技术的微处理器应用占据了32位RISC微处理器70%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。
ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可,由合作公司生产各具特色的芯片[1]。
世界各大半导体生产商从ARM公司购买其ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。
2.ARM微处理器概述
2.1ARM的体系结构
ARM内核最大的优势在于高速度、低功耗,这主要归功于被公认是业界领先的32位嵌入式RISC微处理器结构——ARM体系结构。
目前我们的处理器阵营中分为CISC和RISC两大系列,CISC是复杂指令集处理器,这种处理器每条指令可以执行比较多的复杂操作,而且指令长度不定。
RISC处理器种类比较多,指令长度固定,执行周期固定,从微控制器、MIPS、ARM、Alpha、PowerPC、SPARC和SuperH等。
ARM是目前应用最广泛的一套指令系统,支持多任务,只要是超出单片机能力、x86又太浪费的场合大部分都用ARM。
90%的智能手机都是ARM处理器。
到目前为止,RISC体系结构也还没有严格的定义,一般认为,RISC体系结构在专用微处理器领域要比传统的CISC结构有很大的优势。
RISC体系结构具有如下特点:
(1)采用统一和长度固定的指令域,基本寻址方式有2~3种;
(2)采用单周期指令,便于流水线操作的执行;
(3)大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问寄存器,以提高指令的执行效率。
ARM体系结构除了具备上述典型的RISC结构特性以外,还采用了一些特别的技术,以保证使其在高性能的前提下尽量缩小芯片的面积,并降低功耗:
(1)所有的指令都支持条件执行,即可根据前面的执行结果决定是否被执行,从而提高指令的执行效率;
(2)可用加载、存储指令批量传输数据,以提高数据的传输效率;
(3)可在一条数据处理中使用地址的自动增减来提高运行效率,支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件。
2.2ARM微处理器的寄存器结构
ARM处理器共有37个寄存器,被分为若干个组,这些寄存器包括:
-31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
-6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
通用寄存器包括R0~R15,可以分为三类:
(1)未分组寄存器R0~R7:
在所有的运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途,因此,在中断或异常处理进行运行模式转换时,由于不同的处理器运行模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏,这一点在进行程序设计时应引起注意。
(2)分组寄存器R8~R14:
对于分组寄存器,他们每一次所访问的物理寄存器与处理器当前的运行模式有关。
(3)程序计数器PC(R15):
寄存器R15用作程序计数器(PC)。
同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。
即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。
在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。
ARM微处理器支持7种运行模式,分别为:
用户模式(usr):
ARM处理器正常的程序执行状态;
快速中断模式(fiq):
用于高速数据传输或通道处理;
外部中断模式(irq):
用于通用的中断处理;
管理模式(svc):
操作系统使用的保护模式;
数据访问终止模式(abt):
当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;
系统模式(sys):
运行具有特权的操作系统任务;
未定义指令中止模式(und):
当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真;
除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(PrivilegedModes);
其中除去用户模式和系统模式以外的5种又称为异常模式(ExceptionModes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况[2]。
2.3ARM微处理器的指令结构
ARM微处理器的在较新的体系结构中支持两种指令集:
ARM指令集和Thumb指令集。
其中,ARM指令为32位的长度,Thumb指令为16位长度。
Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点[3]。
2.4ARM微处理器产品简述
ARM处理器核当前有6个系列产品:
ARM7、ARM9、ARM9E、ARM10E、Secur-Core以及最新的ARM11系列,另外还有公司的XScale微体系结构和StrongARM产品。
其中ARM7是低功耗的32位核,最适合应用于对价位和功耗敏感的产品,它又分为应用于实时环境的ARM7TD-MI、ARM7-TDMI-S,以及适用于开发平台的ARM720T和适用于DSP运算及支持Java的ARM7EJ等[4]。
2.5ARM处理器的性能特征
ARM7TDMI处理器是ARM7处理器系列成员之一,是目前应用最广32位高性能嵌入式RISC处理器。
下面以ARM7TDMI为例,介绍ARM芯片的性能特征:
(1)指令流水线
ARM7TDMI使用流水线以提高处理器指令的流动速度。
(2)存储器访问
ARM7TDMI核是冯·
诺依曼体系结构,使用单一的32位数据总线传送指令和数据。
只有加载、存储和交换指令可以访问存储器中的数据。
(3)存储器接口
ARM7TDMI的存储器接口被设计成在使用存储器最少的情况下实现其潜能。
ARM7TDMI有4种存储周期的基本类型:
空闲周期、非顺序周期、顺序周期和协处理器寄存器传送周期。
(4)嵌入式ICE-RT逻辑
嵌入式ICE-RT逻辑为ARM7TDMI核提供了集成的在片调试支持。
可以使用嵌入式工ICE-RT逻辑来编写断点或观察断点出现的条件[5]。
2.6ARM的异常
当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。
在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。
处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。
ARM体系结构中的异常,与8位/16位体系结构的中断有很大的相似之处,但异常与中断的概念并不完全等同。
ARM体系结构所支持的异常类型ARM体系结构所支持的异常:
复位、未定义指令、软件中断、指令预取中止、数据中止、IRQ(外部中断请求)、FRQ(快速中断请求)。
3.ARM系统的设计
3.1硬件设计
硬件系统是整个嵌入式系统的基础,只有先设计并调试好硬件系统才能在此基础上进行后续开发。
由于嵌入式系统应用的领域不同,相应的硬件选择也会各不相同。
3.1.1ARM芯片的选择标准
ARM处理器是一种16/32位的高性能、低成本、低功耗的嵌入式RISC微处理器,由ARM公司设计,然后授权给各半导体厂商,目前己成为应用最为广泛的嵌入式处理器。
ARM系列处理器主要有ARM7、ARM9、ARM9E和ARM104个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求,其中又以ARM7和ARM9两个系列使用的最为广泛。
ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。
ARM7微处理器系列主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能,具有更高的指令和数据处理能力,其主频最高可达300MIPS。
其性能较ARM7系列有较大提升,但价格也相对更高[6]。
3.1.2硬件平台设计
根据系统体系结构设计的嵌入式目标控制系统,进行硬件平台设计,选择嵌入式系统的处理器及常用的外围设备(如SDRAM、FLASH、RS-232串行口等)实现无缝连接,从而简化了外围电路的设计,降低了产品成本、体积和功耗.硬件设计也可以构成最小系统的设计。
最小系统是指ARM能够稳定运行所需要的最基本的条件。
同单片机一样,ARM最小系统也包括电源、时钟源、复位电路、代码和数据存放空间、合理的管脚设置以及必要的调试接口等要素,如图1所示。
图1嵌入式最小系统硬件结构示意图
3.2软件设计与实现
3.2.1嵌入式软件的特点
嵌入式软件(Firmware)通常是整个嵌入式系统的控制和管理中心,是实现项目要求的系统功能的关键,其质量直接影响整个系统的性能。
嵌入式软件运行的环境、载体、功能要求等特性,使其与计算机软件开发具有许多差异。
(1)嵌入式软件设计时更强调软硬件协同工作的效率和稳定性;
(2)嵌入式软件的结果通常需要固化在目标系统的存储器或处理器内部存储资源中,而不是存放在硬盘中;
(3)嵌入式软件的开发一般需要开发工具、目标设备等;
(4)嵌入式软件对实时性的要求更高;
(5)嵌入式软件对抗干扰性和可靠性的要求也较高;
(6)嵌入式软件的代码大小通常也是需要考虑的。
理解了嵌入式软件的这些特点,有助于帮助设计者开发出高质量、高稳定性的产品。
3.2.2嵌入式软件的结构
基于ARM的嵌入式软件通常需要一段汇编代码作为启动代码来完成处理器运行环境的初始化等操作,然后设计者可以跳转到用C/C++等高级语言编写的应用程序中,也可以进入某个嵌入式操作系统中开始任务的调度,当然所有代码可以全部由汇编语言完成。
ADS、SDT等集成开发环境都提供了完备的运行时库供设计者引用。
简单地说,嵌入式软件包括了启动代码、应用程序、头文件、库文件和某些专用的开发工具等几个主要部分[7]。
4.ARM的前景
市场研究机构ABIResearch预测,采用ARM处理器的上网本(netbooks)、便携式上网设备(MID)以及超便携计算机(ultra-mobilePC)等设备出货量,将在2013年超越采用x86架构处理器的PC产品,大幅扭转目前的状况。
ABI指出,目前在UMD市场中,上网本正迈入第二代,且有越来越多市面上的产品是采用ARM平台;
此外,ARM平台也逐渐渗透到其他各种不同型态的PC产品中,包括平板计算机。
但ABI并未提出对UMD市场年度出货量的预估数据。
在2010年,ABI预测市场对Intel与ARM的支持度比数约为75:
25,该比数在2012年将为60:
40;
到2013年,ARM所获得的支援度则会超越Intel,并在2014年使两家公司的市场地位颠倒过来,成为ARM与Intel市场支持度比数60:
40。
至于其他处理器平台在UMD市场恐无立足空间。
而各种采用ARM处理器的上网本与其他便携设备不断增生的趋势,只会让数据传输需求量激增;
Orr指出,为此通讯服务业者正致力于扩充网络容量,以因应未来以数据为中心设备的需求;
这方面的工作重点包括骨干网络与3G/4G网络基地台的建置。
据统计,每年只有10%~20%的计算机芯片是为台式PC机或手提电脑而设计的;
为嵌入式系统设计制造的CPU每年大概有10~20亿片;
每年又有10000个新的嵌入式系统计划产生,而且越来越多的控制系统需要复杂的嵌入式操作系统。
嵌入式技术的快速发展不仅使之成为当前微电子技术与计算机技术中的一个重要分支,同时也使计算机的分类从以前的巨型机、大型机、小型机和微机之分变为通用计算机和嵌入式系统之分[8]。
结论
随着电子技术的飞速发展,随着人们生活和生产水平的不断提高,我们有理由相信嵌入式系统及基于ARM嵌入式技术的微处理器会呈现出蓬勃发展的趋势。
参考文献:
[1]张思民.嵌入式系统与应用[M].北京:
清华大学大学出版社,2008:
10~16.
[2]刘岚,尹勇,李京薇.基于ARM的嵌入式系统开发[M].北京:
电子工业出版社,2008:
34~78.
[3]陈渝.嵌入式系统原理及应用开发[M].北京:
机械工业出版社,2008:
210~336.
[4]魏忠,蔡勇,雷红卫.嵌入式开发详解[M].北京:
电子工业出版社,2003:
22~25
[5]王陈赜.ARM嵌入式技术实践教程[M].北京:
航空航天大学出版社,2005:
98~99
[6]李驹光,聂雪原,姜泽明等.ARM应用系统开发详解[M].北京:
清华大学出版社,2003:
254~255
[7]杜春蕾.ARM体系结构与编程[M].清华大学出版社,2003:
55~56
[8]吴爱国,刘林山等.ARM嵌入式微处理器发展现状[J].组合机床与自动化加工技术,2009年,1期:
13~14.