FreeRTOS+UDP or FreeRTOS+TCP

hollenweger wrote on Thursday, June 11, 2015:

I was planing to use FreeRTOS+UDP for a LPC43xx based project, but I’m thinking of using FreeRTOS+TCP instead. To decide this I would like You opinion.

My application will need only UDP (for the moment, but normally the appetite comes while eating so my client probably will ask for TCP in future!).

I do not have Flash size problems, but RAM usage could be important (If possible i’d like to use only the internal 136K SRAM of the LCP43xx, and a lot of this RAM may be needed for my Application (Data buffers)).

I will require a “commercial” license for the Stack, do You have any idea what the TCP stack will cost?

thanks for any help

Martin

heinbali01 wrote on Thursday, June 11, 2015:

Hi Martin,

The question about the commercial license: please drop an email to FreeRTOS.org and you will be contacted about that.

FreeRTOS+UDP is mature and well-tested.

FreeRTOS+TCP is built upon +UDP. If you ever think of using more features like LLMNR, NBNS, FTP, or HTTP, you better start using +TCP now. The focus will be more and more on +TCP.

You can use it for UDP-only if you define:

#define ipconfigUSE_TCP        ( 0 )
#define ipconfigUSE_TCP_WIN    ( 0 )

and the resulting library should be pretty small.

RAM requirements for UDP-only applications aren’t that big, especially if you use the zero-copy flag.

Regards.