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 */
/* 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 */
Indeed, this returns a timeout. This is the code generated by Stm32CubeMX.
Thank you in advance if you have a solution to this issue !