程序进入HardFault_Handler中无法跳出

       运行CH565开发板的TCP的程序,添加自行发送的数据后,运行一段时间,或者数据发送过程中,将网线拔掉,就会进入到HardFault_Handler中,之后无法跳出。

串口打印提示:

Send error:18.---------------------

mepc=0078a158

mcause=00000004

mtval=0001000f

       想请问下是什么原因导致的,网络通讯过程中,出现掉线应该很正常,但是出现掉线后,程序就进入了硬件错误中,之后无法正常工作了,这个应该不能接受吧?

       优化了下程序,但是还是存在上述进入硬件错误的风险,基本都是出现在随机拔掉网线的时候,各位沁恒的技术大牛,麻烦支持下,帮忙分析下原因。


在拔掉网线之后需要立刻停止数据收发,逻辑上允许就直接进行以太网复位操作。

进硬件错误要结合汇编代码,在PC指针0078a158附件查找芯片执行了什么操作来分析


使用RTT时候出现了进入HardFault_Handler后一直在中断程序中发送串口,导致原来的程序卡死,如何才能解决这个问题。j_0035.gif

image.png


您好,@J17,建议你使用调试看看是在哪一段程序进入HardFault中断,此外我们EVT有RT-Thread例程,可以看看参考一下。EVT例程下载链接如下。后续若有问题,可通过邮箱沟通(lzs@wch.cn)。

/downloads/CH32V307EVT_ZIP.html



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