要运用低本钱的 32位处理器,开发人员面对两种挑选,依据Cortex-M3内核或许ARM7TDMI内核的处理器。怎么做出挑选?挑选规范又是什么?本文首要介绍了ARM Cortex-M3内核微控制器差异于ARM7的一些特色,协助您快速挑选。
1.ARM完结办法
ARM Cortex-M3是一种依据ARM7v架构的最新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内核的芯片,并防止运用那些会使重界说变得杂乱的功用。