2018-01-04 12:46 PM
Hi.
I have a project generated using stm32cubemx.
STM32F207@100MHz
lwIP, RMII, 50MHz MCO out.
Static IP.
ARP, ICMP modules is enabled.
After starting the board i see (with wireshark) one Gratuitous ARP message from board.
Nothing else
Any responses on ARP requests, ping, etc..
In main(), from UM1713 (Developing applications on STM32Cube with LwIP TCP/IP stack )
I have something like these:
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_LWIP_Init();
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
ethernetif_input(&gnetif);
sys_check_timeouts();
}
/* USER CODE END 3 */
}
But, in function HAL_ETH_GetReceivedFrame()
from stm32f2xx_hal_eth.c condition if(((heth->RxDesc->Status & ETH_DMARXDESC_LS) != (uint32_t)RESET)) is always false (so,HAL_ETH_GetReceivedFrame
returningHAL_ERROR).At this point,heth->RxDesc->Status is always 0x80000000 and not changing.