FreeRTOS and its various packages

guiliug wrote on Thursday, March 21, 2019:

I’m a bit confused with the exact functionalities that FreeRTOS provides. I’ve understood that the kernel per se only offers basic scheduling capabilities and that “add-ons” may be integrated to add extra functionalities such as TCP/IP or USB communications, a file system, and so on.

What confuses me however is that on the website, it’s stated : “FreeRTOS + TCP” or “FreeRTOS + IO” and so on as if these packages were mutually exclusive. But It’d like potentially to combine all the functions each has to offer if, say, I wanted my system to be endowed with both a file system and a USB support (and even possibly with other functionalities such as Bluetooth, Internet connection,…). I know it’s feasiable of course, otherwise it wouldn’t make any sense but what “base package” shall I download therefore to suit this purpose?

Is there a good explanation on the subject on the official website ? Couldn’t find one after having a quick glance.

Thanks in advance.

rtel wrote on Thursday, March 21, 2019:

The FreeRTOS kernel is basically a library that implements
multithreading and inter task/inter thread communication and
synchronisation primitives. Its source code is in the /FreeRTOS/source

“FreeRTOS Plus” is the name of a few first party ecosystem products, so
FreeRTOS+TCP is just following a naming convention for FreeRTOS’s TCP
stack, etc.