Trace任务链表或者通信组件链表,要防止读取错误时卡死在里面,初步的解决办法时goto quit处理,并加入重新pg_init。
pg_init比较重要,读取出错后,非常有必要重新初始化。
比如如下:
[C] 纯文本查看 复制代码 pcb,ok = pg_read32(_tx_thread_created_ptr) if (ok == 0) then goto error_quit end
[Lua] 纯文本查看 复制代码 ::error_quit::
if (ok == 0) then
printf("读内存失败")
pg_init(0)
delayms(2)
end
|