Skip to main content
Sany
Associate III
Dec 30, 2020 8:10 AM UTC
Question

STM32H723 Hangs on Ethernet... Bug?

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

This topic has been closed for replies.

7 replies

Pavel A.
Dec 30, 2020 10:15 AM UTC

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

JMamt.1
Associate
Jan 21, 2021 7:17 AM UTC

Hi Pavel,

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

Please suggest.

Thanks and Regards,

JM

DFell.1
Associate II
Nov 17, 2021 1:09 PM UTC

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

Pavel A.
Nov 17, 2021 11:38 PM UTC

STM32H750's closest relatives are STM32H753 and 743.

Look for examples for boards with these chips.

clock.1166
Senior
Nov 17, 2021 1:30 PM UTC

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

HJing.2
Visitor II
Jan 6, 2023 6:13 AM UTC

check phy clk or rst0693W00000Y7Y9vQAF.png0693W00000Y7YAeQAN.png

HLe.2
Visitor II
Jul 3, 2023 7:48 AM UTC

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.