I also recommend checking what protocols you plan to use. FreeRTOS+TCP probably doesn’t provide all protocols that you need.
There is one thing that I like less about lwIP: their website says that if you want speed, you should not use the BSD (socket) interface, but rather a low-level interface called “netconn”. Find an explanation here.
FreeRTOS+TCP only offers a socket interface which is always fast.
Using netconn leads to code that is hard to understand and difficult to translate to other platforms. I rather write BSD-compatible code that can be compiled on multiple platforms.
Btw. I do run FreeRTOS+TCP and lwIP simultaneously on a Zynq. I give them both their own IP and MAC-address. I use it to compare both stacks.
The lwIP network interface will call functions in FreeRTOS+TCP’s networkInterface.c
Wish you good luck with your project. Please ask if you have new questions.