2024-04-04 12:13 PM
Hi people,
I'm using a STM32H7 with a NetXduo web server example. I implementend a http get endpoint to get some data and a http put endpoint to reset the mcu. Sometimes, after the reset, the network stops to work. The http get, put and even the ping doesn't respond. The others threads continue to working fine
It appears that this problem is more frequent when I send a get or a put immediately after a reset, but it can be only my impression. How can I debug this problem? I'm a novice on Azure RTOS.
2024-04-16 05:44 AM
Hello @fernandes
Could you please provide the reset process you are using? Also, could you provide the Ethernet handle state when the issue occurs?
Thanks
Omar
2024-04-16 06:18 AM - edited 2024-04-16 06:21 AM
Could be related to reset of the PHY. If the PHY is already alive and link established, there's no need to reset it. If you still reset it, need to do it properly and wait for the link again (IIRC, not quite sure about details).
Also, stale data can be left in the memory of DMA descriptors, buffers... - it is not zeroed by default.
2024-04-16 10:03 AM
Hello, OSAKE
The process use NVIC system reset.
The ethernet handler shows an error on DMA
2024-04-23 10:38 AM
The DMA error appears on ethernet handler even when the application works. On the SFRs its possible to see the RBU bit. This bit indicates that the application owns the next descriptor in the Receive list, and the
DMA cannot acquire it. Why this is happening?
I putted the SCB_CleanInvalidateDCache at the program beginning, but has not effetc.
2024-04-23 11:34 AM
> The ethernet handler shows an error on DMA
You're going to reset anyway. Disable the ETH and its DMA after http_server_stop() ?
2024-04-25 07:57 AM
Hello @fernandes,
Would you please share the whole project you have used to reproduce the issue in order to allow a better analysis of the problem.
With regards,