Operating System Abstraction Layer (OSAL)

The redBlocks Operating System Abstraction Layer (OSAL), provides a uniform interface to the underlying OS. By accessing the native OS only via the OSAL interface, the complete embedded software application can easily be integrated unmodified on a platform that runs a different OS.

This concept ist used when running the embedded software application on a development host and letting it interact with the redBlocks Simulator: The unmodified embedded software application is linked with the OSAL implementation for POSIX on the development host. When being run on the target, the embedded software is linked with OSAL implementation of the selected embedded RTOS.

 

Diagram: Application layer on top of OSAL

 

Right out-of-the-box, the redBlocks OSAL provides support for POSIX operating systems and some embedded RTOSs (e. g. freeRTOS, ThreadX, ...). We can provide further operating system support when required and on short notice, because it is sufficient to only adapt the redBlocks OSAL to the low level RTOS services (i. e. Thread control plus synchronization with mutexes and semaphores). Higher-level services (e. g. message queues) are implemented with redBlocks components within the redBlocks OSAL.