STM32H7 - CubeMX 6.5.0 + Lwip + FreeRTOS: Some problems in ethernetif.c
Since CubeMX changed to 6.5.0 and Firmware Package to V1.10.0 (included full-reworked ETH driver) Ethernet on existing project became not work after code regeneration.
Detailed investigation shows that:
- Definition of memory location for RX_POOL (memp_memory_RX_POOL_base[]) is missed. Result of this - DMA fault on reception of any packet.
- In the function ethernet_link_thread() at section under if(linkchanged){} used HAL_ETH_Start(&EthHandle); instead of HAL_ETH_Start_IT(&EthHandle);. That stops ETH after reconnect a cable.
Software example that supplied with Firmware Package (LwIP_HTTP_Server_Netconn_RTOS) works fine and free of issues, described above.
But ethernetif.c, generated by CubeMX, needs to be corrected manually.
Also, it seems have to change Cortex_M7 memory regions settings exactly as in software example.