看了任天堂新掌机使用ARM9作主处理器,于是找来相关文章现贴出来大家研究研究。说实话对任感到比较失望,鼓捣半天弄了这么个处理器。个人认为如果任天堂不拿出当年开发FC的劲头的话是不会成功的!就是在相同价格的条件下,开发出别人2-3年别人弄不出的东西。(可以先向厂商大批量定购嘛,反正有口袋妖怪在那顶着)任天堂太保守了!
ARM内核分为ARM7、ARM9、ARM10以及StrongARM等几类。其中每一类又根据其各自包
含的功能模块而分成多种构成。
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+32KI&D Caches+MMU结构,300MHz时钟,功耗为1W(2.0V供电)或00mW(1.5V供电)。指令Cache和数据Cache分别为32K,宽度为64bits。能够技术多种商用操作系统。适用于下一代高性能手持式因特网设备及数字式消费类应用。
StrongARM
StrongARM处理器采用ARMV4T的五级流水结构。目前有SA110、SA1100以及SA1110等三个版本(见表2)。
三、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公司的L7200、Samsung公司的KS32C4100/50100等等。另外,TI公司、LSI Logic、NS公司、NEC公司以及Philips公司也生产相应的ARM7芯片。虽然众多的厂商提供多种瑾的处理器,但是除外部一些功能模块外,它们的内核是相同的,因而在软件编程有调试上是相同的。
在多种商用RTOS(实时多任务操作系统)中,Nucleus PLUS实时多任务操作系统是一种带源代码的OS,目前非常流行。在国内也拥有大量的实际应用。Nucleus是最早支持ARM系列CPU的操作系统之一,它提供内核、图形界而模块、通讯协议模块、文件系统以及嵌入式网上浏览器等等完整的解决方案。国内许多著名的公司均已选用Nucleus在ARM平台上实现PDA、STB、DVD、POS、GPS、手机以及智能终端等。