; PendSV_Handler
PendSV_Handler
LDR R2, =OSTcbCurr ; 不必关中断。嵌套中断发生时会自动保存 R0~R3 到 MSP 并恢复
LDR R0, [R2] ; 如果发生咬尾的多个 PendSV,上半段相当于把已弹出的 {R4-R11} 再次压栈
; CBZ R0, PendSV_Handler_1 ; if(OSTcbCurr == NULL) 跳转至 PendSV_Handler_1
CMP R0, #0
BEQ PendSV_Handler_1

本文详细解析了PendSV_Handler在嵌入式系统中断处理中的作用,通过LDR、CMP、BEQ等指令的使用,阐述了如何处理咬尾的多个PendSV中断,并介绍了PSP的管理和栈指针的更新过程。
最低0.47元/天 解锁文章

1072

被折叠的 条评论
为什么被折叠?



