物联网操作系统多任务调度原理
·
多任务调度器基础知识
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异常

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





所有评论(0)