下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

内核
最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

RTOS上下文切换 - 步骤 7
[详细示例]

RTOS 滴答

从 vPortYieldFromTick() 退出,返回到 SIG_OUTPUT_COMPARE1A(),其中最后一条指令返回自 interrupt (RETI)。RETI 指令假设,堆栈上的下一个值是中断发生时存放在其上的返回地址。

AtoB6.gif

发生 RTOS tick 中断时,AVR 自动将 TaskA 返回地址存放在堆栈上,也即 TaskA 中下一条要执行指令的地址。RTOS tick 处理程序更改栈指针,让其当前指向 TaskB 栈。因此,使用 RETI 指令从堆栈弹出的返回地址实际上是 TaskB 在挂起前即将执行的指令的地址。

RTOS tick 中断了 TaskA,但却返回到 TaskB上下文切换完成




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.