ARM Cortex-M3内核微控制器与ARM7的区别分析

发布者:cloudy德德最新更新时间:2018-03-21 来源: eefocus关键字:ARM  Cortex-M3  内核微控制器  ARM7 手机看文章 扫描二维码
随时随地手机看文章

    要使用低成本的 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 InterruPTController)。相对于ARM7使用的外部中断控制器,Cortex-M3内核中集成了中断控制器,芯片制造厂商可以对其进行配置,提供基本的32个物理中断,具有8层优先级,最高可达到240个物理中断和256个中断优先级。此类设计是确定的且具有低延迟性,特别适用于汽车应用。

    NVIC使用的是基于堆栈的异常模型。在处理中断时,将程序计数器,程序状态寄存器,链接寄存器和通用寄存器压入堆栈,中断处理完成后,在恢复这些寄存器。堆栈处理是由硬件完成的,无需用汇编语言创建中断服务程序的堆栈操作。

    中断嵌套是可以是实现的。中断可以改为使用比之前服务程序更高的优先级,而且可以在运行时改变优先级状态。使用末尾连锁( tail-chaining)连续中断技术只需消耗三个时钟周期,相比于 32个时钟周期的连续压、出堆栈,大大降低了延迟,提高了性能。

    如果在更高优先级的中断到来之前, NVIC已经压堆栈了,那就只需要获取一个新的向量地址,就可以为更高优先级的中断服务了。同样的,NVIC不会用出堆栈的操作来服务新的中断。这种做法是完全确定的且具有低延迟性。

    5.睡眠

    Cortex-M3的电源管理方案通过NVIC支持Sleep Now, Sleep on Exit (退出最低优先级的ISR) andSLEEPDEEP 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也宣布生产该类产品。(Luminary已经被TI收购)

    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。


关键字:ARM  Cortex-M3  内核微控制器  ARM7 引用地址:ARM Cortex-M3内核微控制器与ARM7的区别分析

上一篇:基于STM32微处理器的LED光电特性测试装置设计
下一篇:一种冲孔打桩机自动控制系统设计

推荐阅读最新更新时间:2024-03-16 15:58

ARM】s3c2440之gpio按键控制
功能 通过GPIO,实现按键1点亮LED1,按键2点亮LED2…… 说明 1)因为2440的按键只涉及行,所以在扫描按键时比2410简单了很多 2)在进行移位操作之前,必须进行数据寄存器的初始化,否则会出错(硬件特性) 源码 /***************************************************************************** *****函数名:main() *****功 能:通过GPIO,实现按键1点亮LED1,按键2点亮LED2 *****说 明: *********************************************************
[单片机]
高通或将在ARM IPO中入股,不排除全盘收购
据凤凰科技报道,美国芯片制造商高通公司希望与竞争对手一起入股 ARM,组建一个财团以保持这家英国芯片设计公司在竞争激烈的半导体市场中的中立性。 在英伟达今年早些时候以660亿美元收购ARM宣告失败后,日本企业集团软银计划让ARM在纽约证券交易所上市。然而,考虑到ARM在全球科技行业的关键角色,此次IPO引发了人们对该公司未来所有权的担忧。 高通CEO克里斯蒂亚诺·安蒙(Cristiano Amon)在接受采访时表示:“我们是这一投资的利益相关方。这是一项非常重要的资产,对我们行业的发展至关重要。”高通是ARM最大客户之一。 他补充道,如果进行收购的财团“足够大”,高通可能与其它芯片制造商联手直接收购 ARM。此举可能会消除外界对于
[手机便携]
Arm全球执行副总裁吴雄昂先生荣获上海市白玉兰纪念奖
集微网消息,Arm 全球执行副总裁兼大中华区总裁吴雄昂先生荣获2017年上海市白玉兰纪念奖。该奖项旨在表彰吴雄昂先生与Arm公司对于上海市经济建设、社会发展和对外交流等方面做出的突出贡献。   吴雄昂先生表示:“荣获‘上海市白玉兰纪念奖’不仅是项个人荣誉,更是对于Arm中国为上海和中国集成电路行业所作贡献的高度认可。今后,Arm将一如既往地助力中国电子信息技术产业的发展,与中国合作伙伴一起在国内建设合作开放创新的生态系统,帮助国家推进核心技术和知识产权’安全、自主、可控’战略目标的实现。” Arm是全球知名集成电路核心知识产权提供商,其先进的高能效处理器设计已广泛应用于移动计算、物联网、人工智能、数据中心等各个方面。2002年
[手机便携]
ARM】按键·查询式控制led灯·fs2410
开发环境 硬件平台:FS2410 主机:Ubuntu 12.04 LTS LED灯原理图 按键原理图 按键的接线资源 KSCAN0 - GPE11 KSCAN1 - GPG6 KSCAN2 - GPE13 KSCAN3 - GPG2 EINT0 - GPF0 EINT2 - GPF2 EINT11 - GPG3 EINT19 - GPG11 程序主要原理 这里实现对 K1,K2,K3,K4 这四个键的查询。 主要涉及到K1,K2, K3, K4这四个按键,要用查询的方式进行判断哪个键被按下去了,因此: 将EINT11, EINT19设置为输入,用于读取;
[单片机]
【<font color='red'>ARM</font>】按键·查询式控制led灯·fs2410
x86架构和arm架构处理器分析
目录: 1.两种cpu架构:冯洛伊曼和哈佛 2.x86架构和arm架构分析 3.x86架构和arm架构功耗探究 一.两种cpu架构: 目前主流的cpu处理器都采用了冯洛伊曼架构或者哈佛架构,那么这和x86\arm架构的关系是什么呢, 冯洛伊曼和哈佛这两个架构指的是cpu架构,是控制数据和代码存储的架构. 而x86和arm架构指的的cpu控制指令的集合,每一个指令代表cpu内部设计的一个硬件电路实现.在具体分析x86和arm架构前先分析下cpu存储架构: 1.哈佛结构: 哈佛结构(英语:Harvard architecture):是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储
[单片机]
x86架构和<font color='red'>arm</font>架构处理器分析
浅谈ARM内核MCU不同性能的决定因素
本文主要简述了决定ARM内核MCU的性能和功耗的主要因素。   继ARM推出Cortex-M0+内核后,其32位MCU内核增加到了4个。不久前,恩智浦也宣布取得了Cortex-M0+处理器授权,成为目前唯一一家能够提供完整的Cor tex-M0、Cortex-M0+、Cortex-M3和Cor tex-M4系列内核MCU的半导体厂商。飞思卡尔在今年3月份也已经推出了基于ARM Cortex-M0+的MCU Kinetis L系列。   在ARM内核对MCU统一化进程的同时,各个厂商要怎样才能使得各自的产品与众不同、性能突出呢?恩智浦半导体的Jan JaapBezemer(全球微控制器产品线总监)表示,除了内核外,还有别的资源
[模拟电子]
浅谈<font color='red'>ARM</font><font color='red'>内核</font><font color='red'>MCU</font>不同性能的决定因素
ARM嵌入式基础知识
实践当然是最锻炼人的方式,但是我想在校生很少有这样的机会,别说本科生,硕士生也未必有条件。所以我想学习嵌入式要从个人的知识背景和现实条件出发。订立合适的阶段目标,在允许的条件下多动手多思考。 一般情况下对于硬件设备是比较短缺的。但是可以从软件方面和嵌入式系统开发模式上下功夫,提醒大家一点,嵌入式系统开发设计的内容知识很多,所以大家不要乱,在了解嵌入式系统开发的体系结构后,一步一步的下手,最容易上手的是linux下的C,比如ucos(有开放源代码),虽然可能无法在硬件上仿真,但也不必着急。wince,palmos上手都很容易。无论对于初学者还是自以为是高手的人来说,编程水平(这可不受硬件条件限制)绝对是没有止境的,有了较高的编程水平
[单片机]
分析称ARM芯片将结束微软和英特尔统治时代
  据国外媒体报道,到目前为止,微软Windows操作系统已运行在全世界90%的PC电脑上。但是,随着PC电脑时代的终结,微软已准备让新的Windows操作系统支持Arm芯片,以进军日益增长的平板电脑市场;而专为PC电脑生产芯片的英特尔也行将没落。微软和英特尔的统治时代已经宣告结束,ARM芯片将会开启一个新的时代。 Arm芯片已掌控移动设备 在美国拉斯维加斯举行的国际消费电子产品展览会(CES)上,微软总裁史蒂夫-鲍尔默(Steve Ballmer)宣称,微软的下一代Windows操作系统将支持英国公司Arm的芯片。“真是难以想象。”诺基亚前经理贺拉斯-戴德路(Horace Dedlu)说,“这样做意味着PC电脑时代已经结束
[安防电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved