Super Loop – a Good Approach?
A Super Loop embedded design should not be rejected out of hand for lack of formality. Aside from the simplicity of a Super Loop, one of its greatest advantages is the need for a single stack, which can be important for processors with limited memory like the Arm Cortex M0 and M0+.
There is one major issue with a basic Super Loop application design: inconsistent timing.
However, even that can be overcome with a creative design that provides performance approaching some multitasking embedded system architectures.
You might say “A Super Loop is all I need because I’m only using a small processor and I just need to get on with writing code”. Or, perhaps your application has no real-time requirement. In either case, even a simple Super Loop design will probably need to handle basic functions like interrupts and time-based events. You could write, test and document the code yourself or, you could save all that time by using a pre-packaged Application Framework that allows you to focus on the application.
What is an Application Framework?
Embedded systems typically consist of application-specific code sitting on top of a library of lower-level functions code (Services). The Services provide a Framework of support for a particular software architecture, including passing data between execution entities, synchronizing with events, allowing time-based events and more. Application code calls on the Services to achieve a desired system behavior.
The FREE Novos FB Application Framework enhances the classic Foreground/Background architecture of the Super Loop with an efficient set of 31 highly flexible Services to provide the scaled functionality you’re likely to use. In addition, it features a highly responsive model for the management of interrupt-driven devices, time-based events and queued data passing. Super Loop operations are confined to the Background. More…
The FREE Novos EFB Application Framework extends the Super Loop architecture of Novos FB with an efficient set of 53 highly flexible Services for the scaled functionality you’re likely to use. Novos EFB takes the simple but proven Foreground/Background organization of the classic Super Loop design and extends it with the addition of high priority Foreground Tasks.
Along with the Deferred Interrupt Handlers and Event Action Routines found in the Novos FB Framework, it allows pre-emptive scheduling amongst all Foreground execution entities. With Rate Monotonic Analysis, the Foreground tasks can provide hard real-time operation. The Super Loop is still retained as the sole Background entity. More…
Super Loop-based systems have been around since the beginning of the embedded system era and they are unlikely to go away anytime soon. Novos FB and Novos EFB are modern approaches to a re-usable Application Framework to support the execution of application code within a Super Loop architecture. They allow you to start your application code development immediately with a documented and tested foundation. And the code is Free.