quar 发表于 2022-5-30 17:06:33

在这个教程文档里5.4.2,page 74,底部有段话“Task0 任务要放在这个函数里面,要不出现硬件异常,造成这个问题的原因就在于从主堆栈指针MSP 切换到进程堆栈指针 PSP。在 main 函数中调用子函数 OS_Start 后部分寄存器会入栈,如果在这个子程序中做堆栈指针切换,退出的时候是用的 PSP 而不是 MSP,用 MSP 入栈的寄存器数据将无法返回,从而造成失败。”有些不能理解,假如Task0()不放在OS_Start里面,放在哪里会造成hardfault,或者你的意思是直接把它删除?

lax911 发表于 2024-4-18 11:45:37

very nice,thanks for sharing。
页: 1 2 3 [4]
查看完整版本: 【安富莱】基于STM32-V5开发板的μCOS-III教程发布记录(2014-03-17更新1-11期)