Analyzing FreeRTOS Scheduling Behaviors with the Spin Model Checker

05/16/2022
by   Chen-Kai Lin, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/11/2018

T-Visor: A Hypervisor for Mixed Criticality Embedded Real-time System with Hardware Virtualization Support

Recently, embedded systems have not only requirements for hard real-time...
research
05/12/2021

Budget-based real-time Executor for Micro-ROS

The Robot Operating System (ROS) is a popular robotics middleware framew...
research
08/06/2013

Intensional view of General Single Processor Operating Systems

Operating systems are currently viewed ostensively. As a result they mea...
research
04/30/2022

Schedulability Analysis of WSAN Applications: Outperformance of A Model Checking Approach

Wireless sensor and actuator networks (WSAN) are real-time systems which...
research
12/23/2015

Mixed-Criticality Scheduling with I/O

This paper addresses the problem of scheduling tasks with different crit...
research
02/16/2021

C11Tester: A Race Detector for C/C++ Atomics Technical Report

Writing correct concurrent code that uses atomics under the C/C++ memory...
research
11/04/2018

Measuring Software Performance on Linux

Measuring and analyzing the performance of software has reached a high c...

Please sign up or login with your details

Forgot password? Click here to reset