关于FreeRTOS在MIPS架构下内核侧上下文切换是否使用全局指针的问询
FreeRTOS在MIPS架构下内核侧上下文切换与全局指针的使用
- FreeRTOS在MIPS架构的内核上下文切换流程中,**不会依赖全局指针(GP,
$28)**作为核心切换机制。 - 具体实现细节:
- MIPS端口的FreeRTOS中,上下文切换时会将任务的寄存器集合(含通用寄存器、程序计数器、状态寄存器等)直接保存到对应任务控制块(TCB)关联的栈空间中;恢复上下文时,再从该栈空间加载寄存器值到CPU。
- 内核切换时仅依赖指向当前任务TCB的指针,这个指针通常存储在专用寄存器或通过任务链表遍历获取,和全局指针无直接关联。
- 若任务代码中使用全局指针访问全局变量,上下文切换时GP寄存器的值会和其他通用寄存器一同被保存/恢复,但这是为了维持任务的执行环境一致性,不属于内核切换逻辑的必要环节。
内容的提问来源于stack exchange,提问作者Addi_G De
相关产品推荐
相关产品推荐

