《电子技术应用》

基于Cortex-M处理器的产品开发

ARM 作者:Joseph Yiu
2017/4/19 15:23:00

7.1 为什么Cortex-M系列处理器容易使用

虽然Cortex-M系列处理器有非常多的特性,但是很容易使用的。例如,差不多所有的开发都可以用像C语言这样的高级编程语言。虽然,基于Cortex-M系列处理器产品都大不相同(例如,有不同大小的内存,不同的外设,性能和封装等等),架构的一致性让开发者一旦对他们其中的一块有开发经验,就很容易开始使用新的Cortex-M处理器。

为了实现更容易的软件开发,更好的软件重用性和可移植性,ARM开发了CMSIS-CORE,这儿CMSIS表示Cortex-Microcontroller Software Interface Standard,CMSIS-CORE通过一组APIs为处理器的各种特性像终端管理控制提供了一个标准的硬件抽象层(HAL), CMSIS-CORE集成在各种微处理器厂商提供的设备驱动程序库里,被各种开发工具套件支持。

除了CMSIS-CORE, CMSIS还包含一个DSP软件库(CMSIS-DSP)。这个库提供了为Cortex-M4 和 Cortex-M7优化过的各种DSP函数,当然也支持其他的Cortex-M系列处理器。CMSIS-CORE 和 CMSIS-DSP库都是免费的,可以从GitHub (CMSIS 4, CMSIS 5)下载到,并被许多工具厂商支持。

7.2 处理器选择

对大多数微控制器用户来说,微控制器设备的选择标准主要取决于成本和外设的支持情况。但是,你们中间的很多人可能是为下个芯片产品选择处理器核心芯片设计者,这种情况下,处理器 本身会是考虑的焦点。

明显的,在这样的情况下,性能,芯片面积,功耗和成本会是至关重要的因素。同时,还有各种其他的因素需要考虑。例如,如果你在开发一款互联网连接产品,你也许需要选择有TrustZone安全扩展和MPU的处理器,这样你可以用TrustZone保护关键的安全特性数据,运行某些任务在非特权级别并用MPU来保护内存空间。另一方面,如果你需要在某些方面认证你的产品,Cortex-M23, Cortex-M33, Cortex-M3, Cortex-M4 和 Cortex-M7支持的ETM生成的指令跟踪会对代码覆盖率认证非常有帮助。

在其他的芯片设计领域,如果你正在设计可以运行在能量采集设备供电的小传感器,那么Cortex-M23 和 Cortex-M0+会是最好的选择,因为他们非常小并且做了最先进的功耗优化。

7.3 生态系统

使用ARM Cortex-M系列处理器的关键优势之一是广泛的成熟设备,开发工具链和软件库的支持。目前有

- 超过15家微控制器厂商正在销售基于ARM Cortex-M系列内核的微控制器产品

- 超过10种开发套件支持ARM Cortex-M系列处理器

- 40多家操作系统厂商的操作系统支持Cortex-M系列处理器

这给了你大量选择,让你可以获得适合目标应用的最好的设备,开发工具和中间件组合。

2 总结

性能,特性和芯片面积,功耗之间总是需要平衡。为此,ARM开发了各种Cortex-M处理器,拥有不同级别的指令集特性,性能,系统和调试特性。本文介绍了Cortex-M处理器家族各种异同。

虽然存在这差别,但架构的一致性和CMSIS-CORE标准化的APIs都让Cortex-M系列处理器软件有更好的移植性和可重用性。同时,Cortex-M系列处理器非常方便使用。因此,Cortex-M系列处理器很快成为微控制器市场的最受欢迎的32位处理器架构。

额外的资源

Cortex-M系列处理器产品信息可以查找https://developer.arm.com/products/processors/cortex-m 

一系列有用的Cortex-M资源存在下面的网址https://community.arm.com/processors/b/blog/posts/cortex-m-resources

关于ARMv8-M TrustZone的其他的有用的资源可以查找ARM社区(community.arm.com)的“TrustZone for ARMv8-M Community”。ARM社区是为开发者和开发工具厂商,产品方案商之间提供的一个免费的,开放的,非正式的交流区

本文中出现的商标是ARM有限公司(或其子公司)在欧盟和/或其他地方注册的/或未注册的商标。保留所有权利。文中所有其他标志可能是其他所有人的商标。欲了解更多信息,请访问arm.com/about/trademarks


继续阅读>>