2.1.2 内核结构及功能描述

更新于 2026年10月10日 版权声明
2.1.2 内核结构及功能描述

ARM Cortex-M3内核结构包括处理器内核和许多组件,用于系统管理和调试支持,如图2.1所示。

图示

图2.1 ARM Cortex-M3内核结构

1.处理器内核

ARM Cortex-M3处理器内核采用ARMv7-M架构,其主要特性是支持Thumb-2指令集架构(ISA)的子集,包含所有基本的16位和32位Thumb-2指令;具有哈佛处理器架构,在加载/存储数据的同时能够执行指令取指;带分支预测的三级流水线;支持32位单周期乘法和硬件除法;支持Thumb状态和调试状态;具有处理模式和线程模式;中断的低延时进入和退出;具有可中断-可继续的LDM/STM、PUSH/POP指令。

2.嵌套向量中断控制器

嵌套向量中断控制器(Nested Vectored Interrupt Controller,NVIC)与处理器内核是紧密耦合的,这样可实现快速、低延时的异常处理。

3.总线矩阵

总线矩阵用来将处理器和调试接口与外部总线相连。ARM Cortex-M3处理器包含4个总线接口,它们分别是I-Code存储器总线接口、D-Code存储器总线接口、系统总线接口和外部专用外设总线(Private Peripheral Bus,PPB)接口,具体说明如下。

(1)I-Code存储器总线接口:从Code存储器空间(0x0000000-0x1 FFFFFFF)的取指都在这条32位高级高性能总线(Advanced High Performance Bus,AHB),即AHB-Lite总线上执行。

(2)D-Code存储器总线接口:对Code存储器空间(0x0000000-0x1 FFFFFFF)进行数据和调试访问都在这条32位AHB-Lite总线上执行。

(3)系统总线接口:对系统空间(0x20000000-0xDFFFFFFF)进行取指、进行数据和调试访问都在这条32位AHB-Lite总线上执行。

(4)外部专用外设总线接口:对外部空间(0xE0040000-0xE00FFFFF)进行数据和调试访问都在这条32位高级外设总线(Advanced Peripherial Bus,APB)上执行,跟踪接口单元(Trace Port Interface Vnit,TPIU)和厂商特定的外围器件都在这条总线上。(https://www.daowen.com)

注:处理器包含一条内部专用外设总线,用来访问NVIC,数据观察点和触发(Data Watchpoint and Trace,DWT),Flash修补和断点(Flash Patch Breakpoint,FPB),以及存储器保护单元(Memory Protection Unit,MPU)。

4.调试单元

调试单元包括以下几种。

(1)FPB单元实现硬件断点以及从代码空间到系统空间的修补访问,其由8个比较器构成。

(2)DWT是数据观察点和跟踪、调试功能部件。

(3)仪表跟踪宏单元(Instrumentation Trace Macrocell,ITM)是一个应用导向的跟踪源,支持对应用事件的跟踪和printf类型的调试。

(4)嵌入式跟踪单元(Embedded Trace Macrocell,ETM)是支持指令跟踪的低成本跟踪宏单元。

(5)TPIU用作来自ITM和ETM(如果存在)的内核跟踪数据与片外跟踪接口分析仪之间的桥接。

5.存储器保护单元

存储器保护单元是用来保护存储器的一个部件,其功能是向处理器提供存储器保护,使用存储器保护单元可设置不同存储区域的访问特性(特权访问和全访问)和存储器属性(可缓存,可共享),从而提高安全性。

6.调试接口

ARM Cortex-M3处理器可配置为具有SW-DP或JTAG-DP调试接口的接口,这两个调试接口负责对系统中包括处理器寄存器在内的所有寄存器和存储器的调试访问。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)