stm32的任务调度方式和步骤

2023-08-02  

STM32的任务调度可以有两种方式

  • 1)通过systick_handler定时器调度


  • 2)执行一个系统调用


任务调度的步骤总结为如下:

  • 保存程序的上下文即当前任务的寄存器,保存存储寄存器的任务堆栈的地址。


  • 根据下一个任务的任务堆栈地址依次弹出下一个任务的16个寄存器。

堆栈中的寄存器保存顺序如下,

XPSR

SP(代表MSP或PSP,在任务调度完成后,根据PSP的值定位了是哪个任务)

LR(存储函数的返回)

R12

R3

R2

R1

R0

R11

R10

R9

R8

R7

R6

R5

R4


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。