Performance evaluation of CMSIS-RTOS: benchmarks and comparison

The CMSIS-RTOS standard, recently published by ARM, defines a real-time operating system application programming interface (RTOS API) for lower-end microcontrollers. The benefits of such a standard include the improvement of portability among microcontroller applications, the incentive to the market of standardised middleware libraries, and the acceleration of the learning curve for RTOS-users. CMSIS-RTOS was designed for the ARM Cortex-M family of 32-bit RISC microcontrollers but its applicability encompasses the full range of lower-end microcontrollers. The target hardware platform of CMSIS-RTOS encompasses a different range than those where the POSIX standard is applicable. Compliance with the CMSIS-RTOS standard can be achieved by design, which is the case for new RTOSes, or by an adaptation layer on top of an existing RTOS. The performance evaluation conducted in this research covers both cases. The research question is: 'Does compliance with the CMSIS-RTOS standard impose a performance penalty?'. This is the first reported research to conduct a performance evaluation of CMSIS-RTOS; the results presented here indicate that compliance with the CMSIS-RTOS standard does not impose a performance penalty.