2018-07-10 06:03 AM
I have a STM32F769-Disco board. I used CubeMX to implement ethernet communication in RMII mode. I'm not using any OS. No DHCP. I left the configuration pretty much like default.
I have the ping to the board working normally. The only problem is that, when the microcontroller is
booted or is reset,
the ping does not always work.I found out this problem is caused by an
if statement
in function HAL_ETH_GetReceivedFrame() in stm32f7xx_hal_eth, where the following condition happens to be false:if(((heth->RxDesc->Status & ETH_DMARXDESC_OWN) == (uint32_t)RESET))
I do not understand why this happens in such a random way.. Does anyone have already faced this problem?
Thanks!2018-07-10 06:15 AM
Hello
marco.pirotta
,Check the PHY address value in ETH configuration and make sure you set the PHY address to 0
With Regards,
Imen
2018-07-10 08:26 AM
Hello
DAHMEN.IMEN
. I already knew about the PHY address and I had already set it to zero!2018-07-11 08:53 AM
Hello
DAHMEN.IMEN
,do you have any other suggestion about my issue?? I'm pretty stuck and out of ideas..
Thanks
2018-07-12 05:57 AM
Hello
marco.pirotta
,Have a look to the
to check if you have the same conditions as described in the Ethernet peripheral limitations section.With Regards,
Imen
2018-07-12 08:07 AM
Hello
DAHMEN.IMEN
,I checked the Errata sheet but I can&39t find anything close to my problem..
Here is what I also tried to do:
- increase the C-STACK to 0x1550 and the HEAP to 0x2AA0 (almost the maximum they can reach)
- Add MPU_Config() and CPU_CACHE_Enable() before HAL_Inith() as in \STM32Cube\Repository\STM32Cube_FW_F7_V1.11.0\Projects\STM32F769I_EVAL\Applications\LwIP\LwIP_HTTP_Server_Raw
Anyway I don&39t think anything has changed..I still have the same problem: the ping to the board works just some times..
2018-07-16 02:03 AM
DAHMEN.IMEN
,is it possible that this is some kind of problem not included in the Errata sheet?
Please let me know!