[讨论] "基于ARM的嵌入式系统程序开发要点"学习资料

sanhengxing   2007-7-13 14:22 楼主
关于ARM 1. ARM-Advanced RISC Machines ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以 认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采 用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器 ,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各 类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75 %以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。 ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应 商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的 芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根 据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理 器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的 授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又 使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争 力。 2. ARM微处理器的应用领域及特点 2.1 ARM微处理器的应用领域 到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域: 1、工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但占 据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用 领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器 提出了挑战。 2、无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术, ARM以其高性能和低成本,在该领域的地位日益巩固。 3、网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得 竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也 对DSP的应用领域提出了挑战。 4、消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒 和游戏机中得到广泛采用。 5、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技 术。手机中的32位SIM智能卡也采用了ARM技术。 除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得 更加广泛的应用。 2.2 ARM微处理器的特点 采用RISC架构的ARM微处理器一般具有如下特点: 1、体积小、低功耗、低成本、高性能; 2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器 件; 3、大量使用寄存器,指令执行速度更快; 4、大多数数据操作都在寄存器中完成; 5、寻址方式灵活简单,执行效率高; 6、指令长度固定; 3. ARM微处理器系列 ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处 理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器 都有各自的特点和应用领域。 - ARM7系列 - ARM9系列 - ARM9E系列 - ARM10E系列 - SecurCore系列 - Inter的Xscale - Inter的StrongARM 其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系 列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专 门为安全要求较高的应用而设计。 以下我们来详细了解一下各种处理器的特点及应用领域。 3.1 ARM7微处理器系列 RM7系列微处理器为低功耗的32位RISC处理器,最 适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如 下特点: - 具有嵌入式ICE-RT逻辑,调试开发方便。 - 极低的功耗,适合对功耗要求较高的应用,如便携式产品。 - 能够提供0.9MIPS/MHz的三级流水线结构。 - 代码密度高并兼容16位的Thumb指令集。 - 对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。 - 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产 品升级换代。 - 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用 。 ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调 制解调器设备、移动电话等多种多媒体和嵌入式应用。 ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、 ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式 RISC处理器,属低端ARM处理器核。TDMI的基本含义为: T: 支持16为压缩指令集Thumb; D: 支持片上Debug; M:内嵌硬件乘法器(Multiplier) I: 嵌入式ICE,支持片上断点和调试点; 3.2 ARM9微处理器系列 ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下 特点: - 5级整数流水线,指令执行效率更高。 - 提供1.1MIPS/MHz的哈佛结构。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操 作系统。 - MPU支持实时操作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、 高端打印机、数字照相机和数字摄像机等。 ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适 用于不同的应用场合。 3.3 ARM9E微处理器系列 RM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制 器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复 杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需 要同时使用DSP和微控制器的应用场合。 ARM9E系列微处理器的主要特点如下: - 支持DSP指令集,适合于需要高速数字信号处理的场合。 - 5级整数流水线,指令执行效率更高。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 支持VFP9浮点处理协处理器。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操 作系统。 - MPU支持实时操作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 - 主频最高可达300MIPS。 ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、 工业控制、存储设备和网络设备等领域。 ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类 型,以适用于不同的应用场合。 3.4 ARM10E微处理器系列 ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结 构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50% ,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低 。 ARM10E系列微处理器的主要特点如下: - 支持DSP指令集,适合于需要高速数字信号处理的场合。 - 6级整数流水线,指令执行效率更高。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 支持VFP10浮点处理协处理器。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操 作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力 - 主频最高可达400MIPS。 - 内嵌并行读/写操作部件。 ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备 、工业控制、通信和信息系统等领域。 ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种 类型,以适用于不同的应用场合。 3.5 SecurCore微处理器系列 SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术 的安全解决方案,因此,SecurCore系列微处理器除了具有ARM体系结构的 低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案 的支持。 SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统 安全方面具有如下的特点: - 带有灵活的保护单元,以确保操作系统和应用数据的安全。 - 采用软内核技术,防止外部对其进行扫描探测。 - 可集成用户自己的安全特性和其他协处理器。 SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应 用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。 SecurCore系列微处理器包含SecurCore SC100、SecurCore SC110、 SecurCore SC200和SecurCore SC210四种类型,以适用于不同的应用场合 。 3.6 StrongARM微处理器系列 Inter StrongARM SA-1100处理器是采用ARM体系结构高度集成的32位RISC 微处理器。它融合了Inter公司的设计和处理技术以及ARM体系结构的电源效 率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系 结构。 Intel StrongARM处理器是便携式通讯产品和消费类电子产品的理想选择,已 成功应用于多家公司的掌上电脑系列产品。 3.7 Xscale处理器 Xscale 处理器是基于ARMv5TE体系结构的解决方案,是一款全性能、高性价 比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数 字移动电话、个人数字助理和网络产品等场合。 Xscale 处理器是Inter目前主要推广的一款ARM微处理器。 4. ARM微处理器结构 4.1 RISC体系结构 传统的CISC(Complex Instruction Set Computer,复杂指令集计算机)结构 有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集, 为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在CISC指 令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使 用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设 计中只占20%,显然,这种结构是不太合理的。 基于以上的不合理性,1979年美国加州大学伯克利分校提出了RISC( Reduced Instruction Set Computer,精简指令集计算机)的概念,RISC并非 只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单 合理地提高运算速度上。RISC结构优先选取使用频最高的简单指令,避免复 杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主 ,不用或少用微码控制等措施来达到上述目的。 到目前为止,RISC体系结构也还没有严格的定义,一般认为,RISC体系结构 应具有如下特点: - 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。 - 使用单周期指令,便于流水线操作执行。 - 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指 令可以访问存储器,以提高指令的执行效率。 除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下 尽量缩小芯片的面积,并降低功耗: - 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执 行效率。 - 可用加载/存储指令批量传输数据,以提高数据的传输效率。 - 可在一条数据处理指令中同时完成逻辑处理和移位处理。 - 在循环处理中使用地址的自动增减来提高运行效率。 当然,和CISC架构相比较,尽管RISC架构有上述的优点,但决不能认为 RISC架构就可以取代CISC架构,事实上,RISC和CISC各有优势,而且界限 并不那么明显。现代的CPU往往采用CISC的外围,内部加入了RISC的特性 ,如超长指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展 方向之一。 4.2 ARM微处理器的寄存器结构 ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括 : - 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。 - 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位 ,目前只使用了其中的一部分。 同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有 一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器 包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在 所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有 些寄存器则是在不同的处理器模式下有不同的物理寄存器。 关于ARM处理器的寄存器结构,在后面的相关章节将会详细描述。 4.3 ARM微处理器的指令结构 ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb 指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指 令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~ 40%以上的存储空间,同时具备32位代码的所有优点。 关于ARM处理器的指令结构,在后面的相关章节将会详细描述。 5. ARM微处理器的应用选型 鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展, ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多 达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置 组合,给开发人员在选择方案时带来一定的困难,所以,对ARM芯片做一些 对比研究是十分必要的。 以下从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题做一 些简要的探讨。 ARM微处理器内核的选择 从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不 同的应用领域,用户如果希望使用WinCE或标准Linux等操作系统以减少软件 开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit )功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、 Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows CE和标准Linux,但目前有uCLinux等不需要MMU支持的操作系统可运行于 ARM7TDMI硬件平台之上。事实上,uCLinux已经成功移植到多种不带MMU 的微处理器平台上,并在稳定性和其他方面都有上佳表现。 本书所讨论的S3C4510B即为一款不带MMU的ARM微处理器,可在其上运行 uCLinux操作系统。 系统的工作频率 系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列 微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为 20MHz-133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见 的ARM9的系统主时钟频率为100MHz-233MHz,ARM10最高可以达到 700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有 的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等功 能部件提供不同频率的时钟。 芯片内存储器的容量 大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时 外扩存储器,但也有部分芯片具有相对较大的片内存储空间,如ATMEL的 AT91F40162就具有高达2MB的片内程序存储空间,用户在设计时可考虑选 用这种类型,以简化系统的设计。 片内外围电路的选择 除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域, 扩展了相关功能模块,并集成在芯片之中,我们称之为片内外围电路,如 USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处 理器等,设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功 能,这样既可简化系统的设计,同时提高系统的可靠性。:P http://www.sanhengxing.com/xzindex.asp

回复评论 (2)

回复:"基于ARM的嵌入式系统程序开发要点"学习资料

不错,虽很基础,但很详细~
点赞  2007-7-13 14:29

回复:"基于ARM的嵌入式系统程序开发要点"学习资料

www.sanhengxing.com 网站更新了 . 又很多资料可以下载; 快去看看吧!!
点赞  2008-1-3 09:15
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复