Skip to main content
Associate III
June 26, 2024
Solved

ethernet ping issue with cubemx 6.11.1 and firmware 1.10.0

  • June 26, 2024
  • 1 reply
  • 1891 views

i was tried with cubemx 5.4 and fw 1.5.0 ethernet ping is successfully done. 

but now im trying to ping with cubemx 6.11.1 and FW 1.10.0 but im not able ping . so anybody done with cubemx 6.1.0 and above version. plzz help me on this.... thanks,,,,,,,

 

and main problem when i use 6.1.0 version and above . i need to tap the run button 3 to 5 times to start the execute the program . and another one  after some time control goes  to hard fault.  

   

Best answer by STea

Hello @saikumar ,

after examination of your files, I have found the following:

-the stm32_hal_eth.c is not updated to the late version which can be found in https://github.com/STMicroelectronics/stm32h7xx_hal_driver/blob/b2b4c45001f1b6b72ae449713607896fd6ca4c6b/Src/stm32h7xx_hal_eth.c Release v1.11.3 maybe try to migrate to the latest version of cube Firmware to do this automatically 

-in your Ethernetif.c file i see that you are placing descriptors @0x30040000 and onwards so i assume that you are using a dual core H7 product if it is not the case this should be changed 
you can refer to the tutorial  How to create a project for STM32H7 with Ethernet ... - STMicroelectronics Community 
to properly configure Ethernet and its related memory configuration on a dual core device.

if you are not using RTOS you need to add the following in the while(1) loop of your main.c for periodic handling 

/* Read a received packet from the Ethernet buffers and send it
to the lwIP for handling */
ethernetif_input(&gnetif);

/* Handle timeouts */
sys_check_timeouts();

you can refer to the example in CubeFirmware as a reference .
Regards

1 reply

STeaBest answer
ST Employee
July 30, 2024

Hello @saikumar ,

after examination of your files, I have found the following:

-the stm32_hal_eth.c is not updated to the late version which can be found in https://github.com/STMicroelectronics/stm32h7xx_hal_driver/blob/b2b4c45001f1b6b72ae449713607896fd6ca4c6b/Src/stm32h7xx_hal_eth.c Release v1.11.3 maybe try to migrate to the latest version of cube Firmware to do this automatically 

-in your Ethernetif.c file i see that you are placing descriptors @0x30040000 and onwards so i assume that you are using a dual core H7 product if it is not the case this should be changed 
you can refer to the tutorial  How to create a project for STM32H7 with Ethernet ... - STMicroelectronics Community 
to properly configure Ethernet and its related memory configuration on a dual core device.

if you are not using RTOS you need to add the following in the while(1) loop of your main.c for periodic handling 

/* Read a received packet from the Ethernet buffers and send it
to the lwIP for handling */
ethernetif_input(&gnetif);

/* Handle timeouts */
sys_check_timeouts();

you can refer to the example in CubeFirmware as a reference .
Regards