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。