
ARM-名词详解.docx
14页ARM ARM 分类: 电子工程 属性: 企业 目录 · ·英国ARM公司介绍 · ·Thumb Execution Environment (ThumbEE) · ·进阶 SIMD (NEON) · ·VFP · ·安全性扩充 (TrustZone) · ·ARM 授权方 · ·使用ARM处理器 · ·ARM公司 · ·ARM的学习和开发都需要学习哪些软件 · ·ARM公司简介 · ·设计文件 · ·Thumb · ·Jazelle · ·Thumb-2 ·· ARM ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件技术具有性能高、成本低和能耗省的特点适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等英国ARM公司介绍国家:英国(欧洲)ARM行业:电子 半导体 微处理器 智能 总部:英国剑桥 CEO:沃伦.伊斯特 竞争对手:英特尔 市场份额 处理器90%的市场份额 上网本处理器30%的市场份额使用ARM处理器欧洲诺基亚诺基亚 N86 诺基亚 N97 诺基亚 N8 诺基亚 N96 诺基亚 N95 诺基亚 N900 诺基亚 N81 诺基亚 N85 诺基亚 X6 诺基亚 E72 诺基亚 E71 诺基亚 E66 诺基亚 E63 诺基亚 E52 诺基亚 E5 诺基亚 5530XM 诺基亚 5800XM 诺基亚 5320XM 诺基亚 5730XM 诺基亚 5230等美国摩托罗拉摩托罗拉 XT800 摩托罗拉 XT702 摩托罗拉 XT701 摩托罗拉 ME600 摩托罗拉 ME501 摩托罗拉ME500 摩托罗拉 Milestone 摩托罗拉 RAZR V8 摩托罗拉 VE66 摩托罗拉 A1200E 摩托罗拉 A1210 摩托罗拉 A1600 摩托罗拉 A1800 摩托罗拉 A1890 摩托罗拉 U9 摩托罗拉 A810 摩托罗拉 ROKR EM30 摩托罗拉 EM35 摩托罗拉 ROKR E6英国索爱索爱 X1 索爱 X2 索爱 M1i 索爱 X10 索爱 Satio 索爱 U8i等美国苹果iPhone iPhone 3GS韩国三星三星 i8910 三星 i8510等ARM公司ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。
利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司ARM架构是面向低预算市场设计的第一款RISC微处理器ARM 即Advanced RISC Machines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州SanJoseVLSI技术公司制造20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础1990年成立了Advanced RISC Machines Limited(后来简称为ARM Limited,ARM公司)20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。
ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权ARM的学习和开发都需要学习哪些软件总结起来最主要的有以下几个吧 1 ADS调试用 确切的说是ADS+AXDADS里包含AXD原来都用SDT后来ARM公司停止对SDT支持了,改支持ADS了,还是用ADS吧有的人的程序发布的仍然是SDT版本的,但基本都可以找到相应ADS的,新人在这里不要发蒙ADS是编译器,AXD是调试器编译成AXF以后再在ARM的RAM里调试2 FLASHPGM FLASH烧写的软件AXF在RAM里调试,掉电就没有了,方便程序修改调试好的程序再下到FLASH里,上电直接运行同类的软件还有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人还问FLASH不支持BIN格式文件的问题就要看我写的FLASHPGM使用了3 BANYANT调试代理(不知道名对不,起这么个难记的,我一般都叫它“半羊”因为知道它那几天刚吃了烤羊)调试代理就是用它帮你使用更简单的JTAG(便宜啊)来实现原本1K才卖的JTAG仿真器的大部分功能JTAG调试原理看我另一篇笔记简单的就可以把他理解为你自己做的JTAG的驱动就行了调试代理还有很多种,什么H-JTAG了、ARM7了(不知道具体叫什么,就记得可执行文件叫ARM7.EXE)都是,BANYANT比较好。
需要注意的是,每种调试代理安装方法虽然都简单但都不一样,需要看说明而且AXD调试之前都要运行省钱了,就别怕麻烦了4 ARM-ELF-TOOLS工具链 里面是UCLINUX开发用的工具比如ARM-ELF-GCC只类的工具链就是把很多工具打包在一起发布的方便你开发的东西具体安装方法看我另一篇笔记另外如果你开发LINUX就要用ARM-LINUX-TOOLS,不一样,不通用5 U-BOOT 大名鼎鼎的BOOTLOADER生成工具,同类的好象还有VIVI(名字很暧昧~~)生成的BOOTLOADER烧到FLASH里,然后就可以用BOOTLOADER下载 烧写其他了 有了BOOTLOADER才能下UCLINUXBOOTLOADER就像电脑上的BIOS当然UCOS的不用这个,用什么我不知道:)最新版本是1.1.4 具体使用方法看我另一篇笔记吧6 UCLINUX包 UCLINUX的源码包,不用多说了吧?建议大家用现成的先体会一下,然后再自己编译,裁剪因为单独UCLINUX的编辑技术上比较简单,但涉及的方面还是比较广的7 VMWARE 老牌的虚拟机软件,在一个机器上虚拟出一个机器装LINUX(PC上用的),省得你来回开关机了。
记得装VMWARE-TOOLS8 source insight 代码编辑工具 linux下使用kscopeARM公司简介1991 年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权目前,采用 ARM技术知识产权( IP )核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75 %以上的市场份额, ARM 技术正在逐步渗入到我们生活的各个方面ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的 ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的 ARM 微处理器芯片进入市场目前,全世界有几十家大的半导体公司都使用 ARM 公司的授权,因此既使得 ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和众多合作伙伴。
ARM商品模式的强大之处在于它在世界范围有超过100个的合作伙伴(Partners)ARM 是设计公司,本身不生产芯片采用转让许可证制度,由合作伙伴生产芯片当前ARM体系结构的扩充包括:Thumb 16位指令集,为了改善代码密度;DSP DSP应用的算术运算指令集;Jazeller 允许直接执行Java字节码ARM处理器系列提供的解决方案有:无线、消费类电子和图像应用的开放平台; 存储、自动化、工业和网络应用的嵌入式实时系统;智能卡和SIM卡的安全应用ARM处理器本身是32位设计,但也配备16位指令集一般来讲存储器比等价32位代码节省达35%,然而保留了32位系统的所有优势ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列设计文件设计文件讲求精简又快速的设计方式,整体电路化却又不采用微码,就像早期使用在Acorn微电脑的8位6502处理器。
ARM架构包含了下述RISC特性:读取/储存 架构不支援地址不对齐内存存取(ARMv6内核现已支援)正交指令集(任意存取指令可以任意的寻址方式存取数据Orthogonal instruction set)大量的16 × 32-bit 寄存器阵列(register file)固定的32 bits 操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线化的负担大多均为一个CPU周期执行为了补强这种简单的设计方式,相较于同时期的处理器如Intel 80286和Motorola 68020,还多加了一些特殊设计:大部分指令可以条件式地执行,降低在分支时产生的负重,弥补分支预测器(branch predictor)的不足算数指令只会在要求时更改条件编码(condition code)32-bit筒型位移器(barrel shifter)可用来执行大部分的算数指令和寻址计算而不会损失效能强大的索引寻址模式(addressing mode)精简但快速的双优先级中断子系统,具有可切换的暂存器组有个附加在ARM设计中好玩的东西,就是使用一个4-bit 条件编码 在每个指令前头,表示每支指令的执行是否为有条件式的 这大大的减低了在内存存取指令时用到的编码位,换句话说,它避免在对小型叙述如if做分支指令。
有个标准的范例引用欧几里德的最大公因子算法:在C编程语言中,循环为:int gcd (int i, int j) { while (i != j) if (i > j) i -= j; else j -= i; return i;} 在ARM汇编语言中,循环为:loop CMP Ri, Rj ; 设定条件为 "NE"(不等於) if (i != j) ; "GT"(大於) if (i > j), ; or "LT"(小於) if (i < j) SUBGT Ri, Ri, Rj ; 若 "GT"(大於), i = i-j; SUBLT Rj, Rj, Ri ; 若 "LT"(小於), j = j-i; BNE loop ; 若 "NE"(不等於),则继续回圈这避开了then和else子句之间的分支另一项指令集的特色是,能将位移(shift)和回转(rotate)等功能并成"资料处理"型的指令(算数、逻辑、和暂存器之间的搬移),因此举例来说,一个C语言的叙述a += (j << 2);在ARM之下,可简化成只需一个word和一个cycle即可完成的指令ADD Ra, Ra, Rj, LSL #2这结果可让一般的ARM程式变得更加紧密,而不需经常使用内存存取,流水线也可以更有效地使用。
即使在ARM以一般认定为慢速的速度下执行,与更复杂的CPU设计相比它仍能执行得不错ARM处理器还有一些在。
