ARM7与ARM Cortex比较

发布者:清新时光最新更新时间:2024-10-08 来源: cnblogs关键字:ARM7  ARM  Cortex 手机看文章 扫描二维码
随时随地手机看文章

1.ARM实现方法

ARM Cortex是一种基于ARM7v架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总 线)。从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。

ARM公司对Cortex的定位是:向专业嵌入式市场提供低成本、低功耗的芯片。在成本和功耗方面,Cortex具有相当好的性能,ARM公司认为它特别适用于汽车和无线通信领域。和所有的ARM内核一样,ARM公司将内该设计授权给各个制造商来开发具体的芯片。迄今为止,已经有多家芯片制造商开始生产基于Cortex内核的微控制器。

ARM7TDMI(包括ARM7TDMIS)系列的ARM内核也是面向同一类市场的。这类内核已经存在了十多年之久,并推动了ARM成为处理器内核领域的主导者。众多的制造商出售基于ARM7系列的处理器以及其他配套的系统软件、开发和调试工具。在许多方面,ARM7TDMI都可以称得上是嵌入式领域的实 干家。

2.两者差异

除了使用哈佛结构,Cortex还具有其它显著的优点:具有更小的基础内核,价格更低,速度更快。与内核集成在一起的是一些系统外设,如中断控制器总线矩阵、调试功能模块,而这些外设通常都是由芯片制造商增加的。Cortex还集成了睡眠模式和可选的完整的八区域存储器保护单元。它采用THUMB-2指令集,最大限度降低了汇编器使用率。

3.指令集

ARM7可以使用ARM和Thumb两种指令集,而Cortex只支持最新的Thumb-2指令集。这样设计的优势在于: ●免去Thumb和ARM代码的互相切换,对于早期的处理器来说,这种状态切换会降低性能。 ●Thumb-2指令集的设计是专门面向C语言的,且包括If/Then结构(预测接下来的四条语句的条件执行)、硬件除法以及本地位域操作。 ●Thumb-2指令集允许用户在C代码层面维护和修改应用程序,C代码部分非常易于重用。 ●Thumb-2指令集也包含了调用汇编代码的功能:Luminary公司认为没有必要使用任何汇编语言。 ●综合以上这些优势,新产品的开发将更易于实现,上市时间也大为缩短。

4.中断

Cortex的另一个创新在于嵌套向量中断控制器NVIC(Nested Vector Interrupt Controller)。相对于ARM7使用的外部中断控制器,Cortex内核中集成了中断控制器,芯片制造厂商可以对其进行配置,提供基本的32个物理中断,具有8层优先级,最高可达到240个物理中断和256个中断优先级。此类设计是确定的且具有低延迟性,特别适用于汽车应用。

NVIC使用的是基于堆栈的异常模型。在处理中断时,将程序计数器,程序状态寄存器,链接寄存器和通用寄存器压入堆栈,中断处理完成后,在恢复这些寄存器。堆栈处理是由硬件完成的,无需用汇编语言创建中断服务程序的堆栈操作。 中断嵌套是可以是实现的。中断可以改为使用比之前服务程序更高的优先级,而且可以在运行时改变优先级状态。使用末尾连锁(tail-chaining)连续中断技术只需消耗三个时钟周期,相比于32个时钟周期的连续压、出堆栈,大大降低了延迟,提高了性能。

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

5.睡眠

Cortex的电源管理方案通过NVIC支持Sleep Now,Sleep on Exit,(退出最低优先级的ISR)和SLEEPDEEP modes这三种睡眠模式。为了产生定期的中断时间间隔,NVIC还集成了系统节拍计时器,这个计时器也可以作为RTOS和调度任务的心跳。这种做法与先前的ARM架构的不同之处就在于不需要外部时钟。

6.存储器保护单元

存储器保护单元是一个可选组建。选用了这个选项,内存区域就可以与应用程序特定进程按照其他进程所定义的规则联系在一起。例如,一些内存可以完全被其他进 程阻止,而另外一部分内存能对某些进程表现为只读。还可以禁止进程进入存储器区域。可靠性,特别是实时性因此得到重大改进。

7.调试

对Cortex处理器系统进行调试和追踪是通过调试访问端口(Debug Access Port)来实现的。调试访问端口可以是一个2针的串行调试端口(Serial Wire Debug Port)或者串行JTAG调试端口(Serial Wire JTAG Debug Port)。通过Flash片、断点单元、数据观察点、跟踪单元,以及可选的嵌入式跟踪宏单元(Embedded Trace Macrocell)和指令跟踪宏单元(Instrumentation Trace Macrocell)等一系列功能相结合,在内核部分就可以采用多种类型的调试方法及监控函数。例如,可以设置断点、观察点、定义缺省条件或执行调试请求、监控停止操作或继续操作。所有的这些功能在ARM架构的产品中已经实现,只是Cortex将这些功能整合起来,方便开发人员使用。

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;如果在低成本的情况下寻求更好的性能和改进功耗,您最好考虑选用Cortex-M3;特别是如果你的应用是汽车和无线领域,最好也采用Cortex-M3,这正是Coretex-M3的主要定位市场。

由于Cortex-M3内核中的多种集成元素以及采用Thumb-2指令集,其开发和调试比ARM7TDMI要简单快捷。然而,由于重定义ARM7TDMI的应用不是一件困难的事,特别是在使用了RTOS的情况下。保守者可能会沿用ARM7TDMI内核的芯片,并避免使用那些会使重定义变得复杂的功能。

IAR Systems公司是最早做C编译器的厂商,提供一系列ARM开发工具,包括IAR visualSTATE建模工具、IAR Embedded Workbench for ARM集成开发环境、IAR PowerPac实时操作系统和中间件、J-Link硬件仿真工具以及开发套件。不管用户的选择是ARM7还是Cortex-M3,IAR都会让开发变得简单而有趣。


关键字:ARM7  ARM  Cortex 引用地址:ARM7与ARM Cortex比较

上一篇:ARM7 与Cortex M3的区别
下一篇:Tiny6410裸机编程——(一)SD卡启动

推荐阅读最新更新时间:2024-11-16 10:29

OK6410A 开发板 (七) 4 arm 的交叉编译链厂商
ARM 随IDE发布,也独立提供 开发商为ARM 支持 Windows、Linux 配套 IDE Keil MDK、ARM Development Studio 5、ADS 编译链名称: Arm Compiler 6 Arm Compiler 5 下载地址 https://www.keil.com/ 编译链接限制,只能链接小于2KB的代码 // 付费即可畅享 编译器位置: D:ProgramFilesForDevKeil_v5ARMARMCCbin gcc-for-arm Arm Toolchain ARM 除了有自己的专用编译器之外,还维护了一套基于GCC的交叉编译工具链。估计
[单片机]
软银旗下ARM子公司推出针对自动驾驶传感器的芯片
继推出针对自动驾驶汽车设计的安全强化处理器Cortex-A76AE后,软银旗下英国芯片设计公司ARM近日推出用于处理传感器数据流的芯片。 12月19日消息,据外媒报道,本周二,ARM公司推出了一款新的自动驾驶汽车芯片——Cortex-A65AE,预计将于2020年上市。 这款软件的设计理念是近乎实时地处理自动驾驶汽车传感器的数据流,并具备新的安全功能,旨在使芯片更适合汽车。此外,它还拥有与图形处理器快速连接的通道,为这些处理器提供辅助作用。 而今年九月推出的安全强化处理器Cortex-A76AE则可以让芯片制造商设计出拥有安全功能的芯片,这让自动驾驶汽车能够满足最严格的安全要求,包括自动防撞等功能。 ARM汽车业务副总裁拉克希米
[机器人]
arm召开2025二季度财报会,V9架构继续大获成功
2024年9月30日,arm召开了2025财年第二季度收益电话会议。公司CEO Rene Haas表示:“在这一年中,我们在执行增长战略方面超出了所有预期。无处不在的人工智能需求正在增加对 arm 计算平台的需求。自成立以来,arm芯片的出货量已超过 3000 亿颗。” 二季度总收入达到8.44亿美元,超过预期。其中,版税收入5.14亿美元,同比增长23%,创下历史新高,主要受arm v9架构的持续采用及CSS(计算子系统 Compute Subsystems)技术的推广推动。Rene解释道:“版税收入增长的推动力是每片芯片价值的提高。在过去一个季度,arm v9架构占版税收入的 25%,而一年前仅为 10%。” 智能手机
[半导体设计/制造]
ARM嵌入式整理
填空 1指令含义 列出文件列表的ls命令 切换目录的cd命令 创建目录的mkdir命令 删除目录的rmdir命令 复制文件的cp命令 删除文件或目录的rm命令 让显示画面暂停的more命令 连接文件的cat命令 移动或更换文件,目录名称的mv命令 显示当前所在目录的pwd命令 2 做移植操作系统的三步:下载bootloader,下载内核,下载文件 3 ARM7TDMI各个字母的含义:支持32位寻址范围,并弥补了ARM6不能在低于5V电源电压下工作的不足 考点: 1. vi编辑器模式 命令模式(command mode)—执行命令:在该模式中,可以输入命令来执行许多种功能。控制屏幕光标的移动,字符、字或行的删除,
[单片机]
<font color='red'>ARM</font><font color='red'>嵌入式</font>整理
一款基于ARM控制的逆变器电源电路设计方案
  本设计以 ARM 作为控制核心,结合推挽升压电路和 SPWM 逆变电路,实现了将12VDC 输入电压转换为110VAC 交流正弦电压输出。实验表明,该逆变器具有电压纹波小、动态响应高和全数字等特点,能够满足实际需要。   1.系统总体方案   1.1 总体设计框图   如图1 所示, 逆变器系统由升压电路、逆变电路、控制电路和反馈电路组成。低压直流电源 DC12V 经过升压电路升压、整流和滤波后得到约 DC170V高压直流电,然后经全桥逆变电路 DC/AC 转换和 LC 滤波器滤波后得到   AC110V 的正弦交流电。   逆变器以 ARM 控制器为控制核心,输出电压和电流的反馈信号经反馈电路处理后进入 ARM 处理
[单片机]
一款基于<font color='red'>ARM</font>控制的逆变器电源电路设计方案
ARM64与ARM32 的Linux程序区别在哪里
当ARM为其架构引入64位支持时,它旨在与以前的32位软件兼容。但对于Linux程序员来说,仍然存在一些可能影响代码行为的重大差异。以下是我们发现的一些内容以及我们为他们开发的解决方法。 我本来打算将这篇文章称为“ARMv8 for Linux程序员的新功能?”然而,我认为“有什么不同”更为贴切。而且,仅仅为了记录,“ARMv8-A”是指AArch64,带有A64指令集,也称为arm64或ARM64。我在示例中使用了AArch64寄存器,但我所描述的许多问题也发生在ARMv8-A 32位执行状态。 为了帮助构建此处讨论的问题,让我开始通过给出一些我们在撤销时所拥有的代码库的背景知识。我们的核心技术是记录和重放引擎,它通过将
[单片机]
<font color='red'>ARM</font>64与<font color='red'>ARM</font>32 的Linux程序区别在哪里
基于ARM嵌入式远程无线视频监视系统及设计
在视频监控大家族中,有线视频监控占了大多数,但是有线监控存在很大的缺点。譬如,有效距离短、成本高,仅适用于小范围的区域监控,而对于一些特殊的监控场合,如油田采油现场、远程环境采样、灾害或突发事件现场等,由于监控点的分布范围比较广,难以架设线缆,因此有线视频监控受固有物理布线的限制无法实现。由此而生的无线远程技术,可以摆脱线缆的束缚,具有安装周期短、维护方便、扩容能力强等优点。同时随着计算机技术和通信技术的发展,将嵌入式系统技术、无线通信技术和基于TCP/IP的Internet技术结合在一起的嵌入式远程无线视频监视系统已成为可能。 无线监控和传统的监控方案相比,具有以下三大优点: 1、综合成本低,只需一次性投资,无须挖沟埋管,特
[单片机]
基于<font color='red'>ARM</font>的<font color='red'>嵌入式</font>远程无线视频监视系统及设计
ARM系统基本文件格式
这里所说的ARM系统基本文件格式,都是在基于ARM的嵌入式系统开发中常会碰到的文件格式。 ARM系统基本文件格式有三种: 1) BIN,平板式二进制格式,一般用于直接烧写到Flash中,也可以用于加载到monitor程序中。 2) ELF,EXECUTABLE AND LINKABLE FORMAT,一种通用的OBJECT文件格式,一般由GNU COMPILER COLLECTION (GCC)产生。 3) AXF,BIN格式的扩展版,主体部分同BIN,在文件头和尾加入了调试用的信息,用于AXD。 本文主要讨论BIN与ELF。 首先说明,ELF格式是一种OBJECT文件格式。一般OBJECT文件都可以分成三类:可重定位O
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved