ch582 蓝牙主机模式 总是莫名死机

   程序开启tmos,启动一个任务控制按键和屏幕显示。 

   按键是中断输入的,当案件按下时 显示任务工作。

    开始工作正常,但工作几次后,主函数就进不去了,只有中断可以工作,怀疑是某个中断死循环了,但是目前只开启了gpio输入中断和定时器中断,并且都及时清除了中断。

    如果没有jtag的情况下,如何排查死循环的位置呢?

我又测试了一下,是串口0 UART0_SendString(Rx0Buff, 8);发送一组数据后,就进入某个中断死循环了。 


您好,可以打印PC指针来定位程序跑飞前的运行位置。

死循环可能是进了hardfault硬件错误中断:CH57x/CH58x/CH32V wch risc-v 芯片hardfault问题追踪&程序卡死追踪 - iot-fan - 博客园 (cnblogs.com)

如果是其他问题,可以利用看门狗中断和定时器中断输出类似的打印日志:CH582 CH592 CH573 PC指针打印(排查程序运行+死循环指示) - debugdabiaoge - 博客园 (cnblogs.com)


只有登录才能回复,可以选择微信账号登录