FreeRTOS 学习:(十七)“外部中断”和“内核中断”的差异,引入 FreeRTOS 中断管理

上一篇 下一篇
可调用 FromISR 相关 API 函数的中断优先级范围

"外部中断"和"内核中断"的差异

1)首先,简单介绍一下这两种中断:

  • 外部中断
    指由 STM32 芯片上的外设(如 USART、TIM、EXTI、ADC 等)产生的中断。这里的"外部"是相对于 CPU 内核而言,并非仅指"芯片引脚输入"。例如 USART 中断也是"外部中断"。
  • 内核中断
    指由 ARM Cortex-M 内核 自身定义的系统级异常,如 SysTick、PendSV、HardFault 等。它们是架构级的,与具体芯片无关。

2)优先级配置寄存器的区别:

  • 外部中断

    NVIC->IPR[n](每个 IRQn 对应一个字节)

  • 内核中断

    SCB->SHP[n](对应 SHPR1/2/3,共 12 字节)

3)常见内核中断列表(部分,完全对应中断向量表):

异常名 IRQn 说明
Reset -15 系统复位
NMI -14 不可屏蔽中断
HardFault -13 严重错误处理
MemManage -12 MPU 访问违规(若支持)
BusFault -11 总线访问错误
UsageFault -10 使用错误(如除零)
SVC -5 系统调用(常用于 RTOS
PendSV -2 挂起系统调用(RTOS 上下文切换)
SysTick -1 系统滴答定时器(常用作 RTOS tick)

⚠️ 注意:Reset、NMI、HardFault 优先级固定且最高,无法通过软件降低。

手册中的中断向量表,其中红色框内的是系统中断(内核中断):

FreeRTOS 主要管理的就是内核中断,SysTickPendSVSVC 这三个内核中断。


相关推荐
d111111111d4 小时前
STM32中为什么会有APB1和APB2两个外设有什么区别
笔记·stm32·单片机·嵌入式硬件·学习
d111111111d7 小时前
STM32外设学习--USART串口外设--学习笔记。
笔记·stm32·单片机·嵌入式硬件·学习
LCMICRO-133108477468 小时前
长芯微LPS5820完全P2P替代NCP51820,LPS5820 是一款高速半桥驱动器,可用来驱动半 桥功率拓扑的 GaN 功率管。
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
从零点12 小时前
STM32电机运动控制的设计
stm32·嵌入式硬件
听风说ml13 小时前
STM32 GPIO【深度理解】
stm32·单片机·嵌入式硬件
乄夜15 小时前
嵌入式面试高频!!!C语言(十四) STL(嵌入式八股文)
c语言·c++·stm32·单片机·mcu·面试·51单片机
椰壳也可1 天前
06_作业基于CubeMx实现按键控制LED灯(裸机)(立芯嵌入式笔记)
笔记·stm32·学习
猪八戒1.01 天前
智能家居项目-搭建工程
stm32·智能家居
@曾记否1 天前
如何在Keil5中在没有硬件支持的情况下使用Keil的模拟器(Simulator) + 调试窗口输出进行调试
c语言·stm32