您的位置 首页 新能源

ARM处理器选型攻略:选ARM7仍是选Cortex-M3

要使用低成本的32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文…

要运用低本钱的 32位处理器,开发人员面对两种挑选,依据Cortex-M3内核或许ARM7TDMI内核的处理器。怎么做出挑选?挑选规范又是什么?本文首要介绍了ARM Cortex-M3内核微控制器差异于ARM7的一些特色,协助您快速挑选。

1.ARM完结办法

ARM Cortex-M3是一种依据ARM V7架构的最新ARM嵌入式内核,它选用哈佛结构,运用别离的指令和数据总线( 冯诺伊曼结构下,数据和指令共用一条总线 )。从本质上来说,哈佛结构在物理上更为杂乱,可是处理速度显着加快。依据摩尔定理,杂乱性并不是一件十分重要的事,而吞吐量的添加却极具价值。

ARM公司对Cortex-M3的定位是:向专业嵌入式商场供给低本钱、低功耗的芯片。在本钱和功耗方面,Cortex-M3具有相当好的功用,ARM公司认为它特别适用于轿车和无线通讯范畴。和一切的ARM内核相同,ARM公司将内该规划授权给各个制造商来开发详细的芯片。迄今为止,现已有多家芯片制造商开端出产依据Cortex-M3内核的微控制器。

ARM7TDMI(包含ARM7TDMIS)系列的ARM内核也是面向同一类商场的。这类内核现已存在了十多年之久,并推动了ARM成为处理器内核范畴的主导者。许多的制造商(据ARM声称,多达16家)出售依据ARM7系列的处理器以及其他配套的体系软件、开发和调试东西。在许多方面,ARM7TDMI都能够称得上是嵌入式范畴的实干家。

2.两者差异

除了运用哈佛结构, Cortex-M3 还具有其他明显的长处:具有更小的根底内核,价格更低,速度更快。与内核集成在一起的是一些体系外设,如中止控制器、总线矩阵、调试功用模块,而这些外设一般都是由芯片制造商添加的。 Cortex-M3 还集成了睡觉方法和可选的完好的八区域存储器维护单元。它选用 THUMB-2指令集,最大极限下降了汇编器运用率。

3.指令集

ARM7能够运用ARM和Thumb两种指令集,而 Cortex-M3只支撑最新的 Thumb-2指令集。这样规划的优势在于:
? 免除 Thumb和ARM代码的相互切换,关于前期的处理器来说,这种状况切换会下降功用。
? Thumb-2指令集的规划是专门面向C言语的,且包含If/Then结构(猜测接下来的四条句子的条件履行)、硬件除法以及本位置域操作。
? Thumb-2指令集答运用户在C代码层面维护和修正运用程序,C代码部分十分易于重用。
? Thumb-2指令集也包含了调用汇编代码的功用:Luminary公司认为没有必要运用任何汇编言语。
? 归纳以上这些优势,新产品的开发将更易于完结,上市时刻也大为缩短。

4.中止

Cortex-M3的另一个立异在于 嵌套向量中止控制器 NVIC( Nested Vector Interrupt Controller)。相关于ARM7运用的外部中止控制器,Cortex-M3内核中集成了中止控制器,芯片制造厂商能够对其进行装备,供给根本的32个物理中止,具有8层优先级,最高可到达240个物理中止和256个中止优先级。此类规划是确认的且具有低推迟性,特别适用于轿车运用。

NVIC运用的是依据仓库的反常模型。在处理中止时,将程序计数器,程序状况寄存器,链接寄存器和通用寄存器压入仓库,中止处理完结后,在康复这些寄存器。仓库处理是由硬件完结的,无需用汇编言语创立中止服务程序的仓库操作。

中止嵌套是能够是完结的。中止能够改为运用比之前服务程序更高的优先级,并且能够在运转时改动优先级状况。运用结尾连锁( tail-chaining )接连中止技能只需耗费三个时钟周期,比较于 32个时钟周期的接连压、出仓库,大大下降了推迟,提高了功用。

假如在更高优先级的中止到来之前, NVIC现已压仓库了,那就只需要获取一个新的向量地址,就能够为更高优先级的中止服务了。相同的,NVIC不会用出仓库的操作来服务新的中止。这种做法是彻底确认的且具有低推迟性。

5.睡觉

Cortex-M3的电源办理计划经过NVIC支撑Sleep Now, Sleep on Exit (退出最低优先级的ISR) and SLEEPDEEP modes这三种睡觉方法。为了发生定时的中止时刻距离, NVIC还集成了体系节拍计时器,这个计时器也能够作为RTOS和调度使命的心跳。这种做法与从前的ARM架构的不同之处就在于不需要外部时钟。

6.存储器维护单元

存储器维护单元是一个可选组成。选用了这个选项,内存区域就能够与运用程序特定进程依照其他进程所界说的规矩联络在一起。例如,一些内存能够彻底被其他进程阻挠,而别的一部分内存能对某些进程表现为只读。还能够制止进程进入存储器区域。可靠性,特别是实时性因而得到严重改善。

7.调试

对 Cortex-M3 处理器体系进行调试和追寻是经过调试拜访端口( Debug Access Port )来完结的。调试拜访端口能够是一个 2针的串行调试端口( Serial Wire Debug Port )或许串行 JTAG调试端口( Serial Wire JTAG Debug Port )。经过 Flash片、断点单元、数据调查点、盯梢单元,以及可选的嵌入式盯梢宏单元( Embedded Trace Macrocell )和指令盯梢宏单元( Instrumentation Trace Macrocell )等一系列功用相结合,在内核部分就能够选用多种类型的调试办法及监控函数。例如,能够设置断点、调查点、界说缺省条件或履行调试恳求、监控中止操作或持续操作。一切的这些功用在 ARM架构的产品中现已完结,仅仅 Cortex-M3 将这些功用整合起来,便利开发人员运用。

8.运用规模

尽管 ARM7内核并没有像Cortex系列那样集成许多外设,可是许多的依据ARM7的器材,从通用MCU,到面向运用的MCU、SOC乃至是Actel公司依据ARM7内核的FPGA,都具有更为许多的外围设备。大约有150种MCU是依据ARM7内核的(依据不同的计算办法,这个数字或许会更高)。

你会发现 ARM7都能够完结简直一切的嵌入式运用,或选用定制的方法来满意需求。依据规范内核,芯片厂商能够参加不同类型、巨细的存储器和其他外围设备,比方串行接口、总线控制器、存储器控制器和图形单元,并针对工业、轿车或许其他要求严苛的范畴,运用不同的芯片封装,供给不同温度规模的芯片版别。芯片厂商也或许绑定特定的软件,比方TCP/IP协议栈或面向特定运用的软件。

例如, STMicroelectronics公司的STR7产品线有三个首要系列共45个成员,具有不同的封装和存储器。每一个系列都针对特定的运用范畴,具有不同外设调集。比方STR730宗族是专为工业和轿车运用规划的,因而具有可扩展的温度规模,包含多个I/O口和3个CAN总线接口。STR710则是面向于消费商场以及高端的工业运用,它具有多个通讯接口,比方USB, CAN, ISO7816以及4个UART,还有大容量的存储器和一个外部存储器接口。

芯片厂商也能够挑选利于开发人员开发产品的办法,比方选用 ARM的 嵌入式盯梢宏单元 ETM( Embedded Trace Macrocell ),并供给开发和调试东西。

截止至这篇文章写作之时, 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内核的芯片,并防止运用那些会使重界说变得杂乱的功用。

11.IAR YellowSuite for ARM

IAR YellowSuite for ARM是一整套支撑ARM的开发东西全体解决计划,包含:visualSTATE状况机建模东西、IAR Embedded Workbench集成开发环境、PowerPac RTOS和中间件、仿真器等。不论选用 ARM7仍是Cortex-M3,IAR的开发东西都能支撑。

visualSTATE状况机建模东西

visualSTATE是一套精美、易用的开发东西, 包含图形规划器、测验东西包,代码生成器和文档生成器, 用于规划、测验和完结依据状况图规划的嵌入式运用。
? 依据一致建模言语 (UML)状况机理论的图形化模型规划;
? 对规划模型进行规范性验证,查看体系的逻辑一致性,鉴别出体系规划缝隙或过错;
? 规划进程的前期阶段,乃至在硬件规划没有完结之前,就能够运用测验东西来保证运用能依照料想方法运转;
? 主动代码生成功用能够生成极为紧凑的 C/C++代码,100%与规划保持一致;
? 主动文档生成功用供给了翔实的信息;
? 与 IAR Embedded Workbench 无缝集成,供给多种微控制器和评价板的现成示例代码;
? 经过 CSPYLink或RealLink对方针器材进行归纳的图形化状况机调试;
? 支撑多种硬件调试接口,例如 J-Link、通用JTAG仿真器、NEXUS仿真器等

IAR Embedded Workbench for ARM集成开发环境

IAR Embedded Workbench for ARM集成开发环境(简称EWARM) 是一套支撑 ARM一切处理器的集成开发环境,包含项目办理器、编辑器、C/C++ 编译器 、汇编器、衔接器和调试器。

IAR Embedded Workbench for ARM集成开发环境支撑一切的ARM内核,并供给大多数芯片外规划的支撑:

ARM7 (ARM7TDMI, ARM7TDMI-S, ARM720T) ARM9 (ARM9TDMI, ARM920T, ARM922T, ARM940T)
ARM9E (ARM926EJ-S, ARM946E-S, ARM966E-S) ARM10E (ARM1020E, ARM1022E), ARM11
SecurCore (SC100, SC110, SC200, SC210) CortexM3, Cortex-M1 XScale

EWARM答应对用户挑选对代码巨细或履行速度实施多级优化,一起还答应对项目中作不同的大局和局部优化装备,以到达速度和代码尺度的平衡。EWARM还支撑对优化等级的微调,以及对单个函数的特定优化装备。高档的大局优化与针对特定芯片优化相结合,能够生成最为紧凑、有用的代码。

EWARM中的C-SPY调试器免费集成了μC/OS-II等的内核辨认(Kernel Awareness)插件,经过它能够在IAR调试器中显现μC/OS-II内部数据结构窗口,然后了解每一个项目运用中运转使命的信息,每一个信号灯、互斥量、邮箱、行列、事情标志信息,以及等候上述内核目标的一切使命列表信息。

EWARM为绝大多数ARM芯片供给了Flash Loader。当调试器启动时,Flash Loader一起被调用,主动将程序下载到Flash。Flash Loader彻底集成在EWARM中,烧写进程中无需特别的Flash编程东西和软件。

IAR J-Link仿真器能够直接与EWARM集成开发环境无缝衔接,无需装置任何驱动程序, 操作便利、衔接便利、简略易学,是学习开发ARM最有用的开发东西。下载速度高达800K/S,支撑ARM7/9/11/Cortex-M3,并支撑JTAG、SWD两种调试接口。

IAR PowerPac RTOS和中间件宗族

IAR PowerPac 宗族包含 RTOS 、文件体系、 USB 、 TCP/IP 等协议栈,支撑一切 ARM 内核。它与 IAR Embedded Workbench 无缝集成 , 并有许多的代码例程和板级支撑包 ( BSP) 。 其授权方法是 按座席收取 License 费, 没有版税 , 下降了最终用户的危险。用户能够自主挑选库方法或源代码方法的 IAR PowerPac。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/275680.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部