Showing results for 
Search instead for 
Did you mean: 

STM32F769iDiscovery LwIP Not Running in App Booted from Bootloader

Terry Stasiuk
Associate II

I have merged the examples for this Discovery board LwIP_HTTP_Server_Netconn_RTOS, and STM32CubeExpansion_SBSFU_V2.6.2 (2_Images) projects. I initially had issues with multiple defines for SVC_Handler interrupt but have that resolved now and FreeRTOS is now running. The LwIP stack initializes up to the point in the low level init during netif_set_link_up() trying to do netif_issue_reports(). This thread seems to hang in HAL_ETH_Transmit_IT() when it tries to resume the DMA transmission. When I compare the Eth_handle with the running LwIP project, many of the memory pointers are different. It seems there's a difference (problem) in the DMA initialization of this merged project. Anyone have ideas on how to resolve this?

Terry Stasiuk
Associate II

Just noticed that the scatter file (.sct) and the linker file (.ld) contain references to regions used for DMA descriptors which is also referenced in the LWIP stack as well as the mpu init. I have added these into my merged project and now the addresses seem to look quite similar to the Eth_handle instance addresses I see in debug between the projects. I also noticed the RAM region ended at 0x2007BFF0 and did not include the DMA descriptor regions so I increased the RAM region size by: __ICFEDIT_SB_FWIMG_STATE_region_RAM_end__ = 0x2007CBFF;. Unfortunately the HAL_ETH_Transmit_IT() still does not return and hangs this thread. What else am I missing to get this LwIP stack to run the app after bootloader?

Chief II