cancel
Showing results for 
Search instead for 
Did you mean: 

I cannot find MX_LWIP_Process() defined in my lwip.c. Why and how should I do?

yasokada
Associate

OS: Ubuntu 18.04 LTS

IDE: STM32CubeIDE v1.0.1

board: STM32F769 Discovery Kit

I am trying to use LwIP with FreeRTOS.

I turned ETH, LwIP, FreeRTOS enabled in the IDE.

After generating code, I found that LwIP.c does not have MX_LWIP_Process() defined.

There is a header definition in LwIP.h, but no function declaration in LwIP.c.

Why does this happen? In this case, what should I do to use MX_LWIP_Process() in for loop.

3 REPLIES 3
yasokada
Associate

I found the reason by myself.

With FreeRTOS ON, the MX_LWIP_Process() is not defined.

With FreeRTOS OFF, the MX_LWIP_Process() is defined.

And how to handle this issue?

I'm facing the same problem

MX_LWIP_Process() is only used in non-RTOS implementations.  It is called from the main polling to process incoming and outgoing packets.  In RTOS applications, there is a dedicated task that handles this (I don't recall the name off hand) and the MX_LWIP_Process() function is not implemented.