In a simpler RTOS, the RTOS itself is like a library that is linked together with the application and RTOS running in the same domain. In a more advanced RTOS, an optional process mode (for example, VxWorks real-time processes, Nucleus Process Model, and QNX processes) is available with the same decoupling of applications and kernels as Linux. AMD provides a FreeRTOS BSP as a part of the Vitis development platform. The FreeRTOS BSP provides you a simple, multi-threading environment with basic features such as, standard input/output and access to processor hardware features. The BSP and the included libraries are highly configurable to provide you the necessary functionality with the least overhead. The FreeRTOS software stack is similar to the bare-metal software stack, except that it contains the FreeRTOS library. AMD device drivers included with the standalone libraries can typically be used within FreeRTOS provided that only a single thread requires access to the device.
The following figure illustrates the FreeRTOS software stack for the RPU.