1.问题背景 问题平台:XR806 + RTOS
2.问题描述 XR806(M33内核)适配新的RTOS时,沿用M4F的启动代码后出现了系统奔溃,但是expection显示的PC地址和LR地址都被修改,无法准确判断哪条语句导致的错误。
3.问题分析
//.c文件中插入
void AsmPrint(void)
{
printf("var = %#x\n",PrintMagic);
}
#汇编代码中插入以下代码查看R0的值
LDR R8,=PrintMagic
str R0,[R8]
LDR R8,=AsmPrint
bx R8
4.解决方法 使用__set_PSPLIM可以设置PSPlimit地址,在不确定PSP限制时,可以__set_PSPLIM(0)取消这个功能,MSP也是相同道理。