什么是NVIC,其作用是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是NVIC,其作用是什么?相关的知识,希望对你有一定的参考价值。

NVIC提供中断控制器,用于总体管理异常,称之为“内嵌向量中断控制器:Nested Vectored Interrupt Controller (NVIC)”。NVIC和处理器内核紧密相连。

Cortex ‐ M3在内核水平上搭载了一颗中断控制器——嵌套向量中断控制器NVIC(Nested Vectored

Interrupt Controller)。它与内核有很深的“私交”——与内核是紧耦合的。

特征:

NVIC 依照优先级处理所有支持的异常,所有异常在“处理器模式”处理。NVIC 结构支持32(IRQ[31:0]) 个离散中断,每个中断可以支持 4 级离散中断优先级。所有的中断和大多数系统异常可以配置为不同优先级。

当中断发生时,NVIC 将比较新中断与当前中断的优先级,如果新中断优先级高,则立即处理新中断。当接受任何中断时,ISR的开始地址可从内存的向量表中取得。

不需要确定哪个中断被响应,也不要软件分配相关中断服务程序(ISR)的开始地址。当获取中断入口地址时,NVIC 将自动保存处理状态到栈中,包括以下寄存器“PC, PSR, LR, R0~R3, R12” 的值。

参考技术A NVIC提供中断控制器,用于总体管理异常,称之为“内嵌向量中断控制器:Nested Vectored Interrupt Controller (NVIC)”。NVIC和处理器内核紧密相连.
它提供以下特征。
支持嵌套和向量中断
自动保存和恢复处理器状态
动态改变优先级
简化的和确定的中断时间
参考技术B 提供中断控制器,用于总体管理异常,称之为"内嵌向量中断控制器:Nested Vectored Interrupt Controller (NVIC)"。NVIC和处理器内核紧密相连.
它提供以下特征。
支持嵌套和向量中断
自动保存和恢复处理器状态
动态改变优先级
简化的和确定的中断时间
NVIC 依照优先级处理所有支持的异常,所有异常在"处理器模式"处理。NVIC 结构支持32(IRQ[31:0]) 个离散中断,每个中断可以支持 4 级离散中断优先级。所有的中断和大多数系统异常可以配置为不同优先级。当中断发生时,NVIC 将比较新中断与当前中断的优先级,如果新中断优先级高,则立即处理新中断。当接受任何中断时,ISR的开始地址可从内存的向量表中取得。不需要确定哪个中断被响应,也不要软件分配相关中断服务程序(ISR)的开始地址。当获取中断入口地址时,NVIC 将自动保存处理状态到栈中,包括以下寄存器"PC, PSR, LR, R0~R3, R12" 的值。在ISR结束时,NVIC 将从栈中恢复相关寄存器的值,进行正常操作,因此花费少量且确定的时间处理中断请求。NVIC 支持末尾连锁 "TailChaining",有效处理背对背中断 "back-to-back interrupts",即无需保存和恢复当前状态从而减少在切换当前ISR时的延迟时间。NVIC 还支持迟到 "Late Arrival",改善同时发生的ISR的效率。当较高优先级中断请求发生在当前ISR开始执行之前(保持处理器状态和获取起始地址阶段),NVIC 将立即处理更高优先级的中断,从而提高了实时性。

[react] 什么是React.forwardRef?它有什么作用?

[react] 什么是React.forwardRef?它有什么作用?

React.forwardRef 会创建一个React组件,这个组件能够将其接受的 ref 属性转发到其组件树下的另一个组件中。这种技术并不常见,但在以下两种场景中特别有用:

  • 转发 refs 到 DOM 组件
  • 在高阶组件中转发 refs

 个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论



主目录

与歌谣一起通关前端面试题

以上是关于什么是NVIC,其作用是什么?的主要内容,如果未能解决你的问题,请参考以下文章

简述STM32的复位方式。手动复位按键处的电容有啥作用?

互信息是啥?起到啥作用?

声卡 的门限起啥作用

写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?

stm32的NVIC是什么?

Linux里面nice值作用是啥?