NXP LPC port of the LWIP stack
The standalone LWIP port has been replaced with the LPCOpen version of LWIP. The LPCOpen version supports more examples and more boards. The last official update for the 'lwip_lpc' is v1.10. The online GIT repo may have newer updates than the v1.10. release. IF YOU WANT TO USE LWIP, YOU SHOULD USE THE VERSION IN LPCOPEN.
This project details how to use the LWIP networking stack with supported NXP LPC devices and boards. The LWIP stack provides low level networking support and is ideal for networking applications that require a low memory footprint. The NXP LWIP port supports both standalone (raw API) and threaded (FreeRTOS) configurations.
Where to start
Click on one of the topics on the right menu to learn more about the LWIP LPC port.
About the coding standards
The coding standards for the LWIP port files are a hybrid of the CMSIS specification and the LWIP codig standards. All in-code documentation for use with DoxyGen is developed to the CMSIS standards. The LWIP drivers and port files are developed to the LWIP coding standards and use LWIP types. The LWIP drivers requires the use of the LPC177x_8x or LPC18xx/43xx CMSIS libraries and use functions from those library including startup code. In cases where the CMSIS and LWIP functions conflict, the types are converted to LWIP types inside the LWIP drivers or CMSIS types for the CMSIS library. Exceptions to this rule occur when the LWIP and CMSIS type are the same, such as u32_t and uint32_t.
Although LWIP provides an RTOS abstration layer, the layer is only partially used in the EMAC drivers and/or example code. The abstration later doesn't provide all the necessary fucntions to implement a thread wakeup event from an interrupt using FreeRTOS. LWIP abstracted RTOS functions are used in preference of the FreeRTOS functions whenever possible to make porting to another RTOS easier.
Online documentation for the LWIP LPC port is located at http://docs.lpcware.com/lwiplpc/.