FreeRTOS is a real-time operating system with configurable scheduling policies. Its portability and configurability make FreeRTOS one of the most popular real-time operating systems for embedded devices. We formally analyze the FreeRTOS scheduler on ARM Cortex-M4 processor in this work. Specifically, we build a formal model for the FreeRTOS ARM Cortex-M4 port and apply model checking to find errors in our models for FreeRTOS example applications. Intriguingly, several errors are found in our application models under different scheduling policies. In order to confirm our findings, we modify application programs distributed by FreeRTOS and reproduce assertion failures on the STM32F429I-DISC1 board.
翻译:FreeRTOS是一个实时操作系统,具有可配置的排程政策。 它的可移植性和可配置性使 FreeRTOS 成为嵌入设备最受欢迎的实时操作系统之一。 我们正式分析了这项工作中的ARM Cortex- M4 处理器上的 FreeRTOS 排程器。 具体地说, 我们为 FreeRTOS ARM Cortex- M4 端口建立一个正式模式, 并使用模式检查来查找 FreeRTOS 样板中的错误。 有趣的是, 我们的应用模型中发现一些错误, 使用不同的排程政策。 为了确认我们的调查结果, 我们修改 FreeRTOS 所分发的应用程序, 并在 STM32F429I- DISC1 板上复制声明失败。