微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM7与Cortex-M3的区别

ARM7与Cortex-M3的区别

时间:11-21 来源:互联网 点击:

FPGA,都拥有更为众多的外围设备。大约有150种MCU是基于ARM7内核的(根据不同的统计方法,这个数字可能会更高)。你会发现ARM7都可以实现几乎所有的嵌入式应用,或采用定制的方式来满足需求。基于标准内核,芯片厂商可以加入不同类型、大小的存储器和其他外围设备,比如串行接口、总线控制器、存储器控制器和图形单元,并针对工业、汽车或者其他要求苛刻的领域,使用不同的芯片封装,提供不同温度范围的芯片版本。芯片厂商也可能绑定特定的软件,比如TCP/IP协议栈或面向特定应用的软件。例如,STMicroelectronics公司的STR7产品线有三个主要系列共45个成员,具有不同的封装和存储器。每一个系列都针对特定的应用领域,具有不同外设集合。比如STR730家族是专为工业和汽车应用设计的,因此具有可扩展的温度范围,包括多个I/O口和3个CAN总线接口。STR710则是面向于消费市场以及高端的工业应用,它具有多个通信接口,比如USB、CAN、ISO7816以及4个UART,还有大容量的存储器和一个外部存储器接口。芯片厂商也可以选择利于开发人员开发产品的措施,比如采用ARM的嵌入式跟踪宏单元ETM(EmbeddedTraceMacrocell),并提供开发和调试工具。Luminary、STMicroelectronics这两家公司已经有基于Cortex-M3的芯片,其他公司如NXP、Atmel也宣布生产该类产品。

9.配套工具ARM7应用已经非常普及,它已经有非常多第三方的开发和调试工具支持。在ARM的网站上有超过130家工具公司名称列表。大多数厂商提供了基本的开发板,并提供下载程序的接口、调试工具以及外部设备的驱动,包括LED灯的显示状态或者屏幕上的单行显示。通常,开发套件包括编译器、一些调试软件以及开发板。更为高级的套件包括第三方的集成开发环境(IDE),IDE中包含编译器、链接器、调试器、编辑器和其他工具,也可能包括仿真硬件,比如说JTAG仿真器。内电路仿真器(ICE)是最早的也是最有用的调试工具形式之一,很多厂商都在ARM7上提供了这一接口。软件开发工具范围很广:从建模到可视化设计,到编译器。现在很多的产品也用到实时操作系统(RTOS)和中间件,以加速开发进程、降低开发难度。另外,还有一个非常重要的因素,很多的开发人员对ARM7的开发经验非常丰富。
虽然现在已经有新兴的Cortex-M3工具,但显然还是有一定的差距。不过,Cortex-M3的集成调试性能使调试变得简单且有效,且无需用到内电路仿真器ICE。

10.决策那么,你应该如何做出何种选择呢?如果成本是最主要考虑因素,您应该选择Cortex-M3;如果在低成本的情况下寻求更好的性能和改进功耗,您最好考虑选用Cortex-M3;特别是如果你的应用是汽车和无线领域,最好也采用Cortex-M3,这正是Coretex-M3的主要定位市场。由于Cortex-M3内核中的多种集成元素以及采用Thumb-2指令集,其开发和调试比ARM7TDMI要简单快捷。然而,由于重定义ARM7TDMI的应用不是一件困难的事,特别是在使用了RTOS的情况下。保守者可能会沿用ARM7TDMI内核的芯片,并避免使用那些会使重定义变得复杂的功能。
IARSystems公司是最早做C编译器的厂商,提供一系列ARM开发工具,包括IARvisualSTATE建模工具、IAREmbeddedWorkbenchforARM集成开发环境、IARPowerPac实时操作系统和中间件、J-Link硬件仿真工具以及开发套件。不管用户的选择是ARM7还是Cortex-M3,IAR都会让开发变得简单而有趣。
Cortex-M3和ARM7的比较

比较项目ARM7Cortex-M3
架构ARMv4T(冯诺依曼)
指令和数据总线共用,会出现瓶颈
ARMv7-M(哈佛)
指令和数据总线分开,无瓶颈
指令集32位ARM指令+16位Thumb指令
两套指令之间需要进行状态切换
Thumb/Thumb-2指令集16位和32位
指令可直接混写,无需状态切换
流水线3级流水线若出现转移则需要刷新流水线,损失惨重3级流水线+分支预测出现转移时流水线无需刷新,几乎无损失
性能0.95DMIPS/MHz(ARM模式)1.25DMIPS/MHz
功耗0.28mW/MHz0.19mW/MHz
低功耗模式内置睡眠模式
面积0.62mm2(仅内核)0.86mm2(内核+外设)
中断普通中断IRQ和快速中断FIQ太少,大量外设不得不复用中断不可屏蔽中断NMI+1-240个物理中断
每个外设都可以独占一个中断,效率高
中断延迟24-42个时钟周期,缓慢12个时钟周期,最快只需6个
中断压栈软件手工压栈,代码长且效率低硬件自动压栈,无需代码且效率高
存储器保护8段存储器保护单元(MPU)
内核寄存器寄存器分为多组、结构复杂、占核面积多寄存器不分组(SP除外),结构简单
工作模式7种工作模式,比较复杂只有线程模式和处理模式两种,简单
乘除法指令多周期乘法指令,无除法指令单周期乘法指令,2-12周期除法指令

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top