你好!最近测试中发现我们使用以太网与上位机进行通讯过程中,开启在线示波器的情况下,如果上位机突然关掉或卡死,可能导致芯片出现看门狗复位。排查中发现,因为开启在线示波器时,芯片会一直给上位机发送报文,上位机突然关掉或卡死时并未发送停止指令,所以芯片会继续发送报文一段时间。怀疑是芯片发送报文未成功或者什么情况导致程序进入死循环,从而导致芯片复位。请问以太网通讯中底层驱动程序里面会有类似情况触发死循环导致芯片复位吗?因为我们对以太网通讯不同了解,急需指导解决该问题。谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好!最近测试中发现我们使用以太网与上位机进行通讯过程中,开启在线示波器的情况下,如果上位机突然关掉或卡死,可能导致芯片出现看门狗复位。排查中发现,因为开启在线示波器时,芯片会一直给上位机发送报文,上位机突然关掉或卡死时并未发送停止指令,所以芯片会继续发送报文一段时间。怀疑是芯片发送报文未成功或者什么情况导致程序进入死循环,从而导致芯片复位。请问以太网通讯中底层驱动程序里面会有类似情况触发死循环导致芯片复位吗?因为我们对以太网通讯不同了解,急需指导解决该问题。谢谢!
你好,这样的情况只会在“开启在线示波器”的情况下才会发生吗?
通讯程序有可能会跳转到非法中断,但是具体哪一句跳过去的,需要在线调试的时候查看。你可以先屏蔽看门狗,接上仿真器&CCS后在CCS中测试一下
我的猜测是,在线示波器会不会影响到了板子的供电或者晶振,导致芯片的供电电源或者晶振不稳定,从而卡死在某句程序之后触发了看门狗复位
在线示波器开启的时候就是芯片这边会一直发送数据,直到在线示波器停止。而上位机突然关闭或卡死就不会发送停止的命令,所以芯片会继续发送数据。这个似乎跟硬件没有什么关系啊?我觉得应该还是软件那里没处理好进了死循环吧?我看见以太网的底层驱动里面有一些while循环,不知道在什么条件下会不会过不去?
抱歉不太清楚在线示波器的使用,不知道会不会跟程序卡死有关。我建议你可以将问题发送到英文E2E咨询一下,一方面E2E上有以太网模块的专家工程师,一方面他们应该更清楚在线示波器调试的方法。
https://e2e.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum