2018-04-19 08:04 AM
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-board2018-08-09 09:41 PM
Sorry, bumping old zombie unanswered questions off my feed