目录
第七章嵌套矢量中断控制器
7.1关于NVIC
7.2NVIC功能描述
7.2.1低功耗模式
7.2.2电平与脉冲中断
7.3NVIC程序员模型
7.3.1中断控制器类型寄存器
第七章嵌套矢量中断控制器
本章描述了嵌套矢量中断控制器(NVIC)。它包含以下部分:
- 关于NVIC在7-2页。
- NVIC功能描述见第7-3页。
- NVIC程序员模型在第7-4页。
7.1关于NVIC
NVIC为处理器提供了可配置的中断处理能力。它:
- 促进低延迟异常和中断处理。
- 控制电源管理。
7.2NVIC功能描述
NVIC最多支持240个中断,每个中断最多支持256个优先级。你可以动态地改变中断的优先级。NVIC和处理器核心接口紧密耦合,以实现低延迟中断处理和高效延迟处理中断。NVIC维护要启用的堆叠或嵌套中断的知识中断的尾链。
只能从特权模式完全访问NVIC,但进入用户模式访问会导致中断,导致总线故障。如果启用配置和控制寄存器,则在用户模式下处于挂起状态。任何其他
您可以仅使用字访问访问所有NVIC寄存器。有关NVIC的更多信息寄存器的可访问性及其使用限制,参见Arm*v7-M架构参考手册。处理器异常处理在第2-10页的异常中有描述。
7.2.1低功耗模式
你的实现可以包括一个唤醒中断控制器(WIC)。这使得处理器和NVIC可以进入一个非常低功耗的睡眠模式,让WIC来识别和优先处理中断。当使用WIC时,必须在系统控制寄存器中启用SLEEPDEEP。
处理器完全实现了等待中断(WFI)、等待事件(WFE)和发送事件(SEV)指令。此外,处理器还支持使用SLEEPONEXIT,即线程模式。有关更多信息,请参阅Arm v7-M架构参考手册。导致处理器内核从异常处理程序返回时进入休眠模式
7.2.2电平与脉冲中断
处理器支持电平中断和脉冲中断。一个电平中断被保持断言,直到它被接入设备的ISR清除。脉冲中断是边缘模型的一种变体。你必须确保脉冲在处理器时钟的上升沿采样,而不是FCLK是异步的。
对于电平中断,如果信号在中断例程返回之前没有解除断言,中断再次进入挂起状态并重新激活。这对于FIFO和基于缓冲区的设备特别有用,因为它确保它们要么通过单个ISR耗尽,要么通过重复ISR耗尽调用,不需要额外的工作。这意味着设备将信号保持在assert状态,直到设备为空。
在ISR期间可以重新插入脉冲中断,以便中断可以处于挂起状态状态和活动同时进行。如果另一个脉冲到达,而中断仍然挂起,则中断保持挂起状态,ISR只运行一次。脉冲中断主要用于外部信号和速率或重复信号。
7.3NVIC程序员模型
这个部分描述了NVIC寄存器,它的实现是特定于这个处理器的。其他寄存器在Arm*v7-M架构参考手册中有描述。NVIC寄存器如表7-1所示。
7.3.1中断控制器类型寄存器
卢旺达问题国际法庭的特点是:
目的 显示NVIC支持的中断线的数目。
使用约束 没有使用约束。
配置属性 可用于所有配置。
请参见表7-1中的寄存器摘要。ICTR位分配如图7-1所示。