Skip to main content
Visitor II
October 11, 2023
Question

STM32F769iDiscovery LwIP Not Running in App Booted from Bootloader

  • October 11, 2023
  • 2 replies
  • 1314 views

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?

    This topic has been closed for replies.

    2 replies

    Visitor II
    October 12, 2023

    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?

    Graduate II
    October 12, 2023