Skip to main content
Ulysse Mantonnier
Visitor II
April 19, 2018
Question

HAL_ETH_Init Timeout on STM3210C-EVAL

  • April 19, 2018
  • 1 reply
  • 812 views
Posted on April 19, 2018 at 17:04

Hello,

I'm currently using a STM3210C-EVAL board with FreeRTOS, and I wanted to communicate with it through Ethernet.

However, the program stops working when this function is executed in HAL_ETH_Init :

(heth->Instance)->DMABMR |= ETH_DMABMR_SR;

  /* Get tick */

  tickstart = HAL_GetTick();

  /* Wait for software reset */

  while (((heth->Instance)->DMABMR & ETH_DMABMR_SR) != (uint32_t)RESET)

  {

    /* Check for the Timeout */

    if ((HAL_GetTick() - tickstart) > ETH_TIMEOUT_SWRESET)

    {

      heth->State = HAL_ETH_STATE_TIMEOUT;

      /* Process Unlocked */

      __HAL_UNLOCK(heth);

      /* Note: The SWR is not performed if the ETH_RX_CLK or the ETH_TX_CLK are

         not available, please check your external PHY or the IO configuration */

      return HAL_TIMEOUT;

    }

  }

Indeed, this returns a timeout. This is the code generated by Stm32CubeMX.

Thank you in advance if you have a solution to this issue !

#ethernet #stm3210c-eval-board
This topic has been closed for replies.

1 reply

Tesla DeLorean
Guru
August 10, 2018

Sorry, bumping old zombie unanswered questions off my feed

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..