多任务调度器基础知识

Cortex-M4中Systick的重要性

Systick是调度器核心

Cortex-M4中中断管理

中断管理

         Cortex-M4 内核支持 256 个中断,其中包含了 16 个内核中断和 240 个外部中断,并且具有256 级的可编程中断优先级设置。但 STM32F4 并没有使用 Cortex-M4 内核的全部东西,而是只用了它的一部分。
        Cortex-M4处理器中,每一个外部中断都可以被使能或者禁止,并且可以被设置为挂起状态或者清除状态。

中断和异常向量表

Cortex-M4寄存器组——特殊寄存器

xPSR:组合程序状态寄存器,该寄存器由三个程序状态寄存器组成

  •     应用PSR(APSR) :  包含前一条指令执行后的条件标志
  •     中断PSR(IPSR)  :  包含当前ISR的异常编号
  •     执行PSR(EPSR) :  包含Thumb状态位
PRIMSK:中断屏蔽特殊寄存器。
CONTROL:控制寄存器
  •    [PRIV]: 为0,处理器处于线程模式的特权级,为1为非特权级
  •    [SPSEL] :  为0时,线程模式使用MSP,为1时使用PSP处理器模式时,固定使用MSP

FreeRTOS对中断的管理

Cortex-M4中影子栈指针

模式切换

任务栈

Cortex-M4中SVC和pendSV异常

SVC异常

PendSV异常

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐