cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H723 Hangs on Ethernet... Bug?

Sany
Associate III

Hello!

I got a new STM32 Nucleo-H723ZG, now i am testing about many days, but i have a big Problem, is use the new Stm32CubeIDE 1.5.2 with actually Firmware for the MCU.

The Problem is, i loaded a new Cube Project with Default Values, for the Board without any Changes, now when i run or debug my project, hangs my MCU on this Code:

HAL_ETH_Init:
 
  /* Ethernet Software reset */
  /* Set the SWR bit: resets all MAC subsystem internal registers and logic */
  /* After reset all the registers holds their respective reset values */
  SET_BIT(heth->Instance->DMAMR, ETH_DMAMR_SWR);
 
  /* Get tick */
  tickstart = HAL_GetTick();
 
  /* Wait for software reset */
  while (READ_BIT(heth->Instance->DMAMR, ETH_DMAMR_SWR) > 0U)
  {
    if(((HAL_GetTick() - tickstart ) > ETH_SWRESET_TIMEOUT))
    {
      /* Set Error Code */
      heth->ErrorCode = HAL_ETH_ERROR_TIMEOUT;
      /* Set State as Error */
      heth->gState = HAL_ETH_STATE_ERROR;
      /* Return Error */
      return HAL_ERROR;
    }
  }

i got an HAL_ERROR, and the MCU Goes to from the Main Function to the Error_Handler...

What is the Problem? This code is generated from the MxCube and its unchanged...

Thanks,

Daniel

7 REPLIES 7
Pavel A.
Evangelist III

Please try an example from Cube package for your board: this or others:

https://github.com/STMicroelectronics/STM32CubeH7/tree/master/Projects/NUCLEO-H723ZG/Applications/LwIP/LwIP_UDP_Echo_Server

(If you have downloaded Cube H7 package to your machine, it is already on your machine).

These examples are known to work much better than Cube generated code.

-- pa

Hi Pavel,

Just directly build and upload the firmware? NO other changes required?

Please suggest.

Thanks and Regards,

JM

DFell.1
Associate II

Hello all,

I'm running into the same trouble than explain above by Sany.

To be more precise I do have a bunch of hardware and some of them are not working due to this issue while the other part is running properly.

Does someone solve it ? Many thanks

Edit: I'm running an STM32H750 chip

clock.1166
Senior

Hi,

This may not be the answer, but I had a problem with H743 DMA from uart and it turned out to be something really simple:

Regeneration with the .ioc places these in the wrong order:

 MX_GPIO_Init();

 MX_DMA_Init();

 MX_USART3_UART_Init();

Correct order shown above.

Hope this helps someone!!

Chris

STM32H750's closest relatives are STM32H753 and 743.

Look for examples for boards with these chips.

HJing.2
Associate

check phy clk or rst0693W00000Y7Y9vQAF.png0693W00000Y7YAeQAN.png

HLe.2
Associate II

Hi DFell.1

Have you solved this problem yet?

I'm using Stm322h750 with custom board, and when active the ETH RMII, program runs into Error_Handler() and all other functions not working.