0%

EasyOs

EasyOS是我在大约七、八年前,将 FreeRTOS 和 uCOS-II 研究透测后,自以为是的写了一个融汇二者精华的 RTOS😄。

下面是做 EasyOS 的一些记录,还有一些待整理。

上下文切换时,应该保存什么?保存到哪里?

答: 应该保存3个信息:PCSPCPU寄存器组。它们组成了程序运行所需的CPU运行环境,切换任务,其实就是切换程序运行环境。

注:程序运行环境-程序运行所需的必要条件。

img

注:栈用来存放断点数据和函数的活动记录-临时变量(CPU寄存器组),局部变量(参数和返回值本质上也是局部变量)和返回地址(PC)。

img

对于Cortex M3,PC和寄存器组压在栈内,SP指向栈顶。所以,只需找到SP,就可以获得CPU运行环境——切换CPU运行环境变成了切换SP。

img

坚持原创技术分享,您的支持将鼓励我继续创作!