关于Cortex-M4处理器和核心外设

发布时间:2024年01月24日

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位浮点值的操作。

文章来源:https://blog.csdn.net/Caramel_biscuit/article/details/135816616
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。