Skip to main content
yasokada
Associate
August 17, 2019
Question

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

  • August 17, 2019
  • 1 reply
  • 3107 views

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.

This topic has been closed for replies.

1 reply

yasokada
yasokadaAuthor
Associate
August 17, 2019

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.

Associate
April 29, 2024

And how to handle this issue?

I'm facing the same problem

Bob S
Super User
April 29, 2024

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.