What kind of Ethernet controller errors could trigger the HAL_ETH_error_callback function?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-06-01 3:05 AM
I'm working with stm32f207zg ethernet based project with LWIP stack, no RTOS and using HAL library. I have an udp server application implemented and running over there. It's talking with a python udp client. Not much data bytes on the udp transmitted packets.
Server is working under stress test:
1) Every client sends the same command in a infinite loop, waiting for answers, in a constantly way (same ratio).
2) Clients sends data request to the server and the server sends to them 16 payload data bytes.
The question is that after some working hours under stress test the server stops. Connection is lost because server stops receiving any frame.
After this, when client try to send frames, I can see how descriptor STATUS register has not set any error bit, but OWN bit is set for ever. DMA descriptor is not passing to the MAC core any more.
So I decided to use HAL_ETH_ErrorCallback() in order to get new information about possible errors that triggers this callback call.
Questions:
- But I would like to know what exactly kind of error detection could trigger this callback call.
- If not possible to explain me it will be thankfull to know where can I find formal information about the whole list of ethernet errors that trigger this.
Thanks in advance.
- Labels:
-
DMA
-
Ethernet
-
STM32F2 Series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-06-01 6:21 AM
You can search for all HAL_ETH_ErrorCallback calls in the stm32f2xx_hal_eth.c file and see yourself. It's only one file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-06-01 7:34 AM
I did it, but it doesn't show too much hints. It only face DMA error flags, but not ethernet MAC core error flags.
