自己动手从0到1学写RTOS学习指南

  1. 主页
  2. 自己动手从0到1学写RTOS学习指南
  3. 常见问题FAQ汇总
  4. 执行 BX LR之后,为什么会直接跳转到任务

执行 BX LR之后,为什么会直接跳转到任务

内容纲要

感谢同学 @,雨中的恋人们 的提问

Q:跳转到BX LR之后,为什么会直接跳转到这个task1

A:BX LR时退出异常时,会自动从PSP指向的栈中弹出很多寄存器值,包含PC。由于最开始有初始化了堆栈,所以弹出后会弹出到相应位置。具体过程请再看下《任务切换的实现》理论部分。执行bx lr之前,你在观察窗口里看下相应任务的栈空间里面的值,然后再执行bx lr之后,对照一下是将哪些值给弹出到寄存器里。

这篇文章对您有用吗?

我们要如何帮助您?

发表评论

电子邮件地址不会被公开。 必填项已用*标注