Skip to Main Content
It is well-known that for the implementation of real-time embedded control and signal processing systems, many theoretical benefits can be achieved with the adoption of a fixed-priority preemptive scheduler. In practice, however, many of these benefits are often not fully realizable due to overly optimistic assumptions made on the theoretical scheduling models. For example, the assumption of cost-free scheduling overheads, the availability of arbitrary priority levels and fully independent tasks is clearly not achievable in practice. In addition, the behavior of a fixed priority scheduler under overload (task overruns) can be of concern, especially in safety or mission-critical applications. This paper will attempt to partially address these problems by presenting a minimal fixed priority kernel for the implementation of control and signal processing systems. The kernel has very low resource requirements coupled with minimal CPU overheads (complexity O(1)), and implements a novel technique for the runtime detection and recovery of overloads. Experimental results verify the tick overheads are fixed below 4μs on an ARM7 microcontroller, and indicate the effectiveness of the overrun recovery technique using an example embedded control system based around a ball-and-beam.