Summary
We covered quite a few concepts in this chapter in relation to bare-metal programming with super-loops. At this point, you should have a good understanding of how super-loops can be combined with interrupts to provide parallel processing to keep a system responsive, without the use of an RTOS. We introduced a timed super-loop that uses a sleep instruction and a timer to perform duties at periodic intervals. A state machine was introduced to help break up software duties into shorter segments in order to better share the processor with other functions.
The primary purpose of this chapter was to provide the context for understanding the problems an RTOS solves, and for understanding RTOS features and capabilities. The super-loop predates RTOSes, and it is still widely used. This chapter showed some of the super-loop’s limitations in meeting timing requirements, and how even simple attempts to enhance the timing capabilities can be surprisingly complex.
In the...