Understanding FreeRTOS

Hi,
I am pretty new here and have been going through the documentation and now started to try to do implement hardware solutions. Then searching for an appropriate board I realized almost all board have its own modified FreeRTOS.

Now my doubt is this. Is there any MCU that uses Vanilla FreeRTOS ? Or is it that all board that supports FreeRTOS has its own version of FreeRTOS existing just for that board ? So in short no board can run vanilla FreeRTOS ?

the only changes between different FreeRTOS distros should be in the ports which must happen by definition. Can you give us an example of where you think that there are kernel modifications outside the ports?

While various CPU vendors may include FreeRTOS in their library package, there is generally no need to use their version, unless you have tied yourself to their library package. For our work we almost always are using the direct download of FreeRTOS. We might use the vendors port directory if there is something unusual about the processor, but since most of the time we are using an ARM processor, the generic ports work fine for us, and we might customize it a bit for special cases.

Note FreeRTOS supports a “Processor”, not a “Board”. Drivers for the various I/O devices will tend to be chip/board specific, and again, we tend to build our own, perhaps based on the vendors library, but often that isn’t directly usable as it is designed for “bare metal” use, not under an RTOS.

You may want to consider using these tutorials for learning FreeRTOS: GitHub - FreeRTOS/Lab-Project-FreeRTOS-Tutorials: Tutorials to learn FreeRTOS Kernel.. These tutorials run on Linux and do not require a special hardware.