Cortex-M4处理器是一款专为微控制器市场设计的高性能32位处理器。它为开发人员提供了显著的好处,包括:
- 出色的处理性能与快速中断相结合
- 增强的系统调试,具有广泛的断点和跟踪功能
- 高效的处理器核心,系统和存储器
- 超低功耗集成睡眠模式和可选的深度睡眠模式
- 平台安全性强,可选集成内存保护单元(MPU)
Cortex-M4处理器基于高性能处理器核心,采用3级流水线哈弗架构,非常适合要求苛刻的嵌入式应用。
该处理器通过高效的指令集和广泛优化的设计提供卓越的功耗效率,提供高端处理硬件,包括可选的符合IEEE754的单精度浮点计算,一系列单周期和SIMD乘法和乘法累加功能,饱和算法和专用硬件除法。
为了便于成本敏感设备的设计,Cortex-M4处理器实现了紧密耦合的系统组件,减少了处理器面积,同时显著提高了中断处理和系统调试能力。
Cortex-M4处理器实现了基于Thumb-2指令集的一个版本,确保了高代码密度和降低了程序内存需求。
为了优化低功耗设计,NVIC集成了睡眠模式,其中包括可选的深度睡眠功能。这使得整个设备可以在保持程序状态的同时快速断电。
系统级接口
Cortex-M4处理器提供使用AMBA技术的多个接口,以提供高速,低延迟的内存访问。
它支持非对齐数据访问,并实现原子位操作,从而实现更快的外设控制、系统自旋锁和线程安全的布尔数据处理。
Cortex-M4处理器有一个可选的内存保护单元(MPU),允许控制内存的各个区域,使应用程序能够利用多个特权级别,在逐个任务的基础上分离和保护代码、数据和堆栈,这些要求在许多嵌入式应用(如汽车)中变得至关重要。
可选集成配置调试
Cortex-M4处理器可以实现完整的硬件调试解决方案。
通过传统的JTAG端口或2引脚串行线调试(SWD)端口提供了处理器和内存的高系统可见性,这是微控制器和其他小型封装设备的理想选择。
对于系统跟踪,处理器集成了仪表跟踪宏单元(ITM)以及数据观察点和分析单元。为了对这些生成的系统事件进行简单且经济有效的分析,串行线查看器(Serial Wire Viewer, SWV)可以通过单个引脚导出软件生成的消息流、数据跟踪和分析信息。
可选的嵌入式跟踪Macrocell™(ETM)在比传统跟踪单元小得多的区域内提供无与伦比的指令跟踪捕获,使许多低成本mcu首次实现完整的指令跟踪。
可选的Flash补丁和断点单元(FPB)提供多达八个硬件断点比较器,调试器可以使用。FPB中的比较器还提供了在code存储器区域的程序代码中最多8个字的重新映射功能。这使得存储在不可擦除的基于rom的微控制器上的应用程序可以在设备中使用小型可编程存储器(例如闪存)时进行修补。在初始化期间,ROM中的应用程序从可编程存储器中检测是否需要补丁。如果一个补丁是必需的,应用程序程序FPB重新映射一些地址。当这些地址被访问时,这些访问被重定向到FPB配置中指定的重新映射表,这意味着不可修改ROM中的程序可以被修补。
Cortex-M4处理器的特点和优点总结
- 系统外围设备的紧密集成减少了面积和开发成本
- Thumb2指令集结合了高代码密度和32位性能
- 可选配符合IEEE754标准的单精度FPU
- ROM系统更新的代码补丁能力
- 系统组件的功率控制优化
- 集成睡眠模式,降低功耗
- 快速代码执行,允许减慢处理器时钟或增加睡眠模式时间
- 面向乘法积累的硬件除法和快速数字信号处理
- 信号处理中的饱和算法
- 确定性,高性能中断处理关键应用程序
- 可选内存保护单元(MPU),用于关键安全应用
- 广泛的实现定义的调试和跟踪功能:串行线调试和串行线跟踪减少了调试、跟踪和代码分析所需的引脚数量。
Cortex-M4核心外设
嵌套向量中断控制器
NVIC是一个嵌入式中断控制器,支持低延迟中断处理。
系统控制块
系统控制块(SCB)是程序员到处理器的模型接口。它提供系统实现信息和系统控制,包括配置、控制和系统异常报告。
系统定时器
是一个24位递减计数器。将其用作实时操作系统(RTOS)滴答计时器或简单的计数器。
内存保护单元
MPU通过定义不同内存区域的内存属性,提高系统的可靠性。它提供多达八个不同的区域,以及一个可选的预定义背景区域。
浮点单元
FPU提供符合ieee754标准的对单精度32位浮点值的操作。