First you can check the API, structure and macro differences between LwIP 2.0.3 and 2.1.2. This includes the differences in function prototype if any. You would then need to incorporate the differences in the files in LwIP/WICED and LwIP/WWD. For instance, you would need to check if any LwIP 2.0.3 function used in WICED is deprecated in 2.1.2. Another approach is to add the relevant LwIP files and then check if there are any compilation errors such as undefined macros, functions, structures.
I have upgraded LwIP to 2.1.2 successfully and is compiling.
But one thing to be noted here.
There are changes in the WICED version of LwIP 2.0.3 when compared to standard LwIP version 2.0.3
Files present in WICED\network\LwIP\WICED folder and WICED\network\LwIP\WWD folder are using modified WICED version of LwIP 2.0.3.
Following are the major changes in LwIP for wi-fi drivers:
3 PBUF_POOL_RX and PBUF_POOL_TX
4 MEMP_PBUF_POOL_TX and MEMP_PBUF_POOL_RX
I have commented some of the changes for compilation purpose.
How to handle these WICED changes in upgraded LwIP 2.1.2 ?
LwIP_Upgradtaion_Differences.zip 178.0 K
1 of 1 people found this helpful
The TCP and IP layers would depend on the LwIP network stack so any changes would directly affect the implementation of those two layers. To preserve layer compatibility, you can consider incorporating those changes in your upgraded version of LwIP. This method would work if the underlying LwIP APIs are not deprecated or changed.