Introduction - If you have any usage issues, please Google them yourself
Almost all embedded systems are event-driven most of the time they wait for some event such as a time tick, a button press, a mouse click, or the arrival of a data packet. After recognizing the event, the systems react by performing the appropriate computation. This reaction might include manipulating the hardware or generating secondary, "soft" events that trigger other internal software components. Once the event-handling action is complete, such reactive systems enter a dormant state in anticipation of the next event.1
Ironically, most real-time kernels or RTOSes for embedded systems force programmers to model these simple, discrete event reactions using tasks structured as continuous endless loops. To us this seems a serious mismatch--a disparity that s responsible for much of the familiar complexity of the traditional real-time kernels.
In this article we ll show how matching the discrete event nature typical of most embedded systems with a simple run-to-completion (RTC) kerne