您的位置 首页 测评

让下一代智能互联嵌入式使用开发更简化

Cortex-M处理器家族是一系列具有扩展性,兼容性,节能和易于使用的处理器,旨在帮助开发人员满足未来智能互联嵌入式应用的需要。2010年推出的Cortex-M

Cortex-M处理器宗族是一系列具有扩展性,兼容性,节能和易于运用的处理器,旨在协助开发人员满意未来智能互联嵌入式运用的需求。2010年推出的Cortex-M4是建立在Cortex-M3的基础上并加入了一系列专门为数字信号处理定制的指令集扩展,并调配可选的功用可达1.25 DMIPS/ MHz的单精度浮点单元。自推出以来,有10家以上的半导体厂商推出了根据Cortex-M4的通用MCU产品,以及十分广泛的根据Cortex-M4的sensor hub产品。

在曩昔的几年里,对支撑互联的嵌入式体系的功用特性和处理才能的需求变得愈加严苛。即使是最简略的体系,也预期支撑多种衔接方法,图形用户界面,人机界面,语音辨认或其他天然的交互方法。处理器需求变得愈加强壮,并能供给更多的本地处理才能。在轿车行业和工业自动化中运用的微控制器需求支撑更高的处理才能和CPU功用进步,对计算精度和短时刻内处理许多数据的要求在敏捷进步。这些未来体系的要求包括:以较低的本钱供给更多的功用,添加衔接性,更好的代码重复运用,以及进步能效。正是着眼于这样的未来需求,ARM和合作伙伴一同规划了当时Cortex-M宗族中功用最强的ARM Cortex-M7处理器。

近观Cortex-M7

Cortex-M7能够应对最严厉的运用环境,并克服了曾经根据Cortex-M处理器的解决方案所面对的问题,功用达到了上一代Cortex-M4的两倍,大约为5 CoreMark/ MHz。Cortex-M7是专为各种嵌入式运用,包括微控制器,轿车控制器,工业控制体系和无线通信控制器(例如无线网络)规划的。关于那些了解Cortex-M系列CPU的嵌入式运用开发者来说,Cortex-M7根据Cortex-M架构,从架构上兼容从Cortex-M0以来的一切产品(图1)。


图1

ARM Cortex-M7处理器特性

Cortex-M7包括六阶段的超标量流水线,并和紧耦合内存、高速缓存和大内存支撑选项集成在一同以供给整数、浮点和DSP处理才能并确保确定性的行为。Cortex-M7先进的流水线能供给相关于Cortex-M4更高的功用,答应在每个时钟周期履行两条指令。

Cortex-M7开发的一大重点是相关于之前的Cortex-M系列处理器进步IPC(instructions-per-clock)功率。Cortex -M7是Cortex-M宗族中第一个进步最高64KB指令和数据缓存选项的处理器,高速缓存能供给对更大的存储器体系的有用操作(外存一般比处理器慢许多)。此外还添加了紧耦合内存接口,集成ECC支撑。对内存的快速拜访使得高速中止处理和实时运用处理成为或许。这样的集成使得工程师们能够在内部缓存中履行大部分代码,以削减对外部存储器读写拜访,然后下降功耗。

Cortex-M7也供给了对每个内部缓存单元添加ECC支撑的选项,以进步体系的可靠性。关于给定解决方案,假如某个内存方位的单个比特值被损坏,该数据可被校正和康复。除了ECC,存储器体系也能够经过可选的存储器保护单元(MPU)设定8或16个区域为受保护区域以增强体系可靠性。

为了支撑进步了的CPU处理才能,内存体系也从32位AXI总线改善为64位AXI总线,64位AXI比32位AXI供给了更大的带宽,并支撑多个outstanding transfer以最大化体系功用。为了易于集成在从前的Cortex-M规划中运用的传统外围设备,还有一个可选的低推迟AHB外设总线接口。为了答应灵敏的中止办理和低中止推迟,集成嵌套矢量中止控制器(NV%&&&&&%)用1到240个中止,以及3至8位可编程优先级寄存器完结与处理器的严密集成。此外,还有ETM支撑,专为CoreSight(ARM支撑全体系调试和盯梢的架构)规划。

Cortex-M7包括的双精度支撑可选项,进一步扩展了Cortex-M宗族的浮点才能。假如FPU存在时,还支撑整数和浮点指令的并发。鉴于存在许多根据Cortex-M7的MCU运用,它还具有彻底的强壮的调试功用,以及可选的全指令和数据盯梢支撑。对现已运用了Cortex-M4处理器的设备,在运用对功用的要求进步时,前述特性使得Cortex-M7成为一种极具吸引力的解决方案。

搬迁规划到Cortex-M7

鉴于大多数嵌入式工程师和开发人员都了解Cortex-M4,让我们来看看Cortex-M7带来的一些软件开发的长处。从开发者的视点来看,在Cortex-M7支撑一切的Cortex-M4处理器指令,并运用相同的中止模型来处理反常。在大多数情况下,针对Cortex-M4处理器编写的程序代码应该能够在Cortex-M7处理器上没有任何问题地运转。可是,在有些情况下或许需求做一些改动,软件开发人员有必要了解这些改动以削减把运用程序从Cortex-M4搬迁到Cortex-M7所需的时刻。

为了取得Cortex-M7处理器的最佳功用,一些C编译器和运转时库现已进行了优化和更新(图2)。此外,因为相当多的Cortex-M7相关于Cortex-M4在调试体系上的改变,软件开发者有必要更新他们的东西链,以在根据Cortex-M7的微控制器产品上调试运用程序。在某些情况下,调试适配器上的固件或许还需求更新。因而,强烈建议更新到最新的开发东西链。


图2

相关于Cortex-M4的2倍功用改善

一般情况下,把软件从Cortex-M4搬迁到Cortex-M7处理器时,需求完结以下改动:

(1)、更新CMSIS- CORE头文件为Cortex-M7对应的头文件。对应Cortex-M7处理器的CMSIS-CORE头文件包括在CMSIS 4.2之后的版别中。(最新的CMSIS能够从www.arm.com/cmsis取得。)

(2)、更新CMSIS-DSP库为Cortex-M7定制版别。Cortex-M7定制版别为Cortex-M7处理器的流水线行为进行了优化,因而能够供给更高的功用。

(3)、进行缓存装备的新API包括在CMSIS-CORE头文件中。假如正在运用的Cortex-M7设备经由AXI接口从慢速存储器(例如Flash)履行程序,应该启用高速缓存以取得更好的功用。

此外,一切的代码应该被重编译以答应编译器针对Cortex-M7处理器流水线更好地优化指令序列。在某些情况下,或许在运转时需求额定的缓存保护操作。例如,在处理器和外设DMA控制器同享一块带缓存的内存时,有必要进行恰当的缓存保护操作以确保内存一致性。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部