一、导言
作为Soc(System On Chip)的典型运用,和持电话、机顶盒、数码像机、GPS、个为数字助理以及因特网设备等产品的市场需求越来越大。现在,依据ARM的处理器以其高速度、低功耗等许多优异的功用而成为上述各类产品中选用较多的处理器。
二、ARM内核
ARM内核分为ARM7、ARM9、ARM10以及StrongARM等几类。其间每一类又依据其各自包含的功用模块而分红多种构成在ARM内核中有四个功用模块可供出产厂商依据不同用户的不同要求来装备出产。这四个模块分别用T、D、M和I来表明。
T:表明Thumb,该内核可从16位指令集扩充到32位ARM指令集。
D:表明Debug,该内核中放置了用于调试的结构,一般它为一个鸿沟扫描JTAG,可使CPU进入调试形式,然后可便利地进行断点设置、单步调试。
M:表明Multiplier,是8位乘法器。
I:表明EmbeddedICE Logic,用于完结断点观测及变量观测的逻辑电路部分,其间的TAP控制器可接入到鸿沟扫描链。
ARM7
ARM7 选用ARMV4T(Newman)结构,分为三级流水,空间一致的指令与数据Cache,均匀功耗为0.6mW/MHz,时钟速度为66MHz,每条指令均匀履行1.9个时钟周期。其间的ARM710,ARM720和ARM740为内带Cache的ARM核。
ARM9
ARM9 选用ARMV4T(Harvard)结构,五级流水处理以及别离的Cache结构,均匀功耗为0.7mW/MHz。时钟速度为120MHz- 200MHz,每条指令均匀履行1.5个时钟周期。与ARM7系列类似,其间的ARM920、ARM940和ARM9E为含Cache的CPU核。功用为132MIPS(120MHz时钟,3.3V供)或220MIPS(200MHz时钟)。
ARM10
ARM10选用ARMV5T结构,六级流水处理,指令与数据别离的Cache结构。均匀功耗为1000mW,时钟速度为300MHz,每条指令均匀履行1.2个周期,其间ARM1020为带Cache的版别。
ARM10TDMI:与一切ARM核在二进制级代码兼容,内带高速32X16MAC,预留DSP协处理器接口。其间的VFP10(矢量浮点单元)为七级流水结构。
ARM1020T: ARM10TDMI+32KID Caches+MMU结构,300MHz时钟,功耗为1W(2.0V供电)或00mW(1.5V供电)。指令 Cache和数据Cache分别为32K,宽度为64bits。可以技能多种商用操作体系。适用于下一代高功用手持式因特网设备及数字式消费类运用。
StrongARM
StrongARM处理器选用ARMV4T的五级流水结构。现在有SA110、SA1100以及SA1110等三个版别。
三、ARM7系列开发东西及开发环境
1.软件开发东西
Green Hills Tools: Green Hills的ARM软件东西包可以支撑ARM6、ARM7、ARM7M、ARM7TM、ARM7TDMI、ARM7500FE、ARM8、 ARM9、ARM10以及StrongARM等系列处理器。它由编译器、穿插东西包、集成开发环境和调试接口等组成。
Compiler:高优化功用的C/C++编译器。
Cross Tool Chain:穿插开发东西。包含汇编器(Assembler)、衔接器(Linker)、库函数以及方针代码格局转换器。
MULTI:集成开发环境。Green Hills的MULTI集成环境归纳了软件开发和调试过程中要用到的各种东西,如源级调试器、工程管理器、版别控制器、文本编辑器、功用分析器、图形浏览器。运转犯错检测器、ARM指令集仿真器以及底层调试接口等。用户可便利地在MULTI环境中运用上述东西来开发运用程序。
Servers:底层调试接口。Green Hills的Servers供给两类调试接口供用户挑选运用。一类用于Angel监控器、在线仿真器以及EPI公司的JEENI JTAFG仿真器等;另一类则用于商用操作体系及用户自己编写的操作体系。
ASDT2.5:SDT2.5是ARM公司供给的一大套由C编译器、衔接定位器、C言语调试器和Angel监控器组成的开发软件包。因为价格比较适中而运用比较广泛。
2.硬件开发东西
ARM 的硬件开发东西首要包含两类仿真器,一是JTAG仿真器,二是全功用在线仿真器。前者是运用ARM处理器中的调试模块的功用,经过其JTAG鸿沟扫描口来与仿真器衔接。这种方法的仿真器比较廉价,衔接比较便利。但因为仅经过十几条线来调试,因此功用有限制。现在ARM处理器的JTAG仿真器在市场上比较盛行的是EPI公司的JEENI和MAJIC,闻名的德国Lauterbach公司有一款通用JTAG/BDM/ONCE仿真器TRACE32-ICD也可以很好的支撑ARM系列处理器。关于全功用在线仿真器来说,因为其信真头彻底替代方针板上的CPU,因此功用十分强壮。但这类仿真器为了可以全速仿真时钟速度高于100MHz的处理器,一般有必要选用极端杂乱的规划和工艺,因此其价格比较贵重。Lauterbach公司的TRACE32-Fire便是这类产品的佼佼者。
JEENI仿真器:这是一种价位较低的JTAG仿真器。它可以很好地与SDT2.5东西衔接。用户可运用其编译器和调试界面。
MAJIC仿真器:与JEENI比较,MAJIC可以经过100base-T以太网与主机相连,支撑多处理器和低电压I/O。
TRACE32 –ICD:这是一种通用JTAG/BDM/ONCE仿真器,既可以支撑Motorola系列的68K、ColdFire、MPC5XX/8XX、 MPC82XX,又可以经过替换模块来支撑ARM7系列CPU.一起也可以支撑SIEMENS的ONCE方法,如TriCore、C166等。别的, TRACE32-ICD供给共同的RISC逻辑追寻功用。
TRACE32Fire:这是全功用ICE,供给强壮的调试和侦错功用。
四、支撑ARM7的RTOS及其体系开发
现在在国内,ARM7的运用较多,ARM9、ARM10的运用没有开端。在引,咱们以ARM7的运用来例来阐明ARM7体系的构成及其OS的运用。
ARM7 处理的出产厂商许多,他们仅须向ARM公司购买ARM7核的License便可进行出产。现在常用到的ARM7芯片有tmel公司的 AT91M40400、Cirrus Logic公司的CL-PS7500FE/EP7211等、Hyundai公司的GMS30C7201、 Linkup公司的L
7200、Samsung公司的KS32C4100/50100等等。别的,TI公司、LSI Logic、NS公司、NEC公司以及Philips公司也出产相应的ARM7芯片。尽管很多的厂商供给多种瑾的处理器,可是除外部一些功用模块外,它们的内核是相同的,因此在软件编程有调试上是相同的。
在多种商用RTOS(实时多任务操作体系)中,Nucleus PLUS实时多任务操作体系是一种带源代码的 OS,现在十分盛行。在国内也具有很多的实践运用。Nucleus是最早支撑ARM系列CPU的操作体系之一,它供给内核、图形界而模块、通讯协议模块、文件体系以及嵌入式网上浏览器等等完好的解决计划。国内许多闻名的公司均已选用Nucleus在ARM平台上完结PDA、STB、DVD、POS、 GPS、手机以及智能终端等。
五、依据ARM7的PDA计划
ARM7系列芯片具有高速、低功耗、集成度高级特色,十分合适用于开发PDA设备。在此介绍一个韩国现代电子供给的以GMS30C7201芯片为中心的PDA计划。
*操作体系:NUCLEUS PLUS;
*编译器:ARM SDT / GREEN HILL;
*仿真器:JENNI / TRACE32-ICD。
在这一平台上,咱们选用ATI公司的NUCLEUS操作体系及相应的文件体系、图形软件包、网络模块和浏览器来完结PDA的各种功用。现在现已完结了大部分的软件移植作业:MUCLEUS内核、文件体系、图形软件包、TCP/IP网络模块(运用PPP拔号上网)以及各种片上设备的驱动、浏览器的移植也行将完结。