ARM架构中的控制寄存器主要用于配置和控制处理器的特定行为和功能。以下是一些典型的ARM控制寄存器及其作用:
1. **Cortex-M系列**
- **SCB(System Control Block)寄存器**:在Cortex-M系列中,SCB寄存器集合包括了一些重要的控制寄存器,如:
- VTOR(Vector Table Offset Register):用于设置中断向量表的偏移地址。
- SHPR(System Handler Priority Registers):用于设置系统异常的优先级。
- SCR(System Control Register):控制中断的响应行为,比如是否允许总线fault等。 示例:
#include "core_cm4.h" // Cortex-M4 CMSIS头文件
// 设置中断向量表偏移
SCB->VTOR = 0x08000000; // 假设中断向量表位于0x08000000地址开始
// 设置系统异常的优先级
SCB->SHPR[3] = 0xFF; // 设置SVCall异常的优先级
2. **Cortex-A/R系列**
- **CPACR(Coprocessor Access Control Register)**:控制对协处理器的访问权限。
- **CCR(Configuration and Control Register)**:在某些旧版ARM架构中用于控制cache和TLB等功能。
- **NSACR(Non-Secure Access Control Register)**:在TrustZone技术中用于定义安全和非安全世界的访问


1795

被折叠的 条评论
为什么被折叠?



