EETimes

Embedded Systems December 2000 Vol13_13

Issue link: http://dc.ee.ubm-us.com/i/71850

Contents of this Issue

Navigation

Page 117 of 197

kill method, then enter the NOT_CRE- ATED state. The framework process, as shown, evolved over several years as we designed and tested many variations, in orde r to obtain a common program structure for all software components. The diagram represents the most recent revision in the evolution of the SO-ucnlre. Many design decisions are implied by the detailed PBO frame- work, as now discussed. Despite the seeming complexity of the framework, dissecting it into pieces shows that it is indeed rather simple. In the steady state, PBO processes are all in the ON state, exe- cuting their cycle method once per cycle or event, and going back to sleep unti l the next wakeup signal. Note that the only diffe rence between a periodic p rocess and an aperiodic server is the ource of the wakeup signal. For a periodic process, the wakeup signal is received from the clock, as a virtual tim er inte rrupt. For the aperiodic processes, the process blocks on a sem- aphore, message, or event, as defined by the sync method of the PBO. The autonomous nature of the C, C++, pLus, pLus, pLus ••• PBO allows the most popular sched- uling algorithms, such as the rate monotonic static priority,(7) earliest- deadlin e-first,f71 or maximum- ALL the tooLs you need for x86 embedded system deveLopment. It's that simpLe. urgency-first dynamic priori ty sched- uling[20) algorithms, to be used to schedule PBOs. The user can also choose between a preemptive or no n-preemptive environment, and still use the PBO model. The control systems designer only needs to spec- ify the frequency of the cycle routine for each PBO based on the needs of the application. By using the timing error detec- tion and handling methods described in an article called "Mechanisms fo r Detecting and Handling Timing Errors" by myself and P. K. Khosla, [ I 6J aperiodic servers can use the same fundamental structure as periodic processes. The framework can define ape riodic processes as eithe r Paradigm Systems 3301 Country Club Road· Suite 2214 Endwell, NY 13760 1-800-537-5043 Phone 607-748-5966 • Fax 607-748-5968 info@devtools.com • http://www.devtools.com Contact us at sales@devtools.com or visit our web site and download a demo version of Paradigm C++ today. deferrable or sporadic servers, and use them with either the rate monoto- nic sta tic priority or maximum- urgency-fi rs t dynamic priori ty sched- uling algorithms to ensure pre- dictable scheduling. The remainder of the framework handles the initialization, termination, and reconfiguration. To support dynamic reconfiguration, a two-stage initialization and termination is used. High-overhead initialization of a new process can be performed upon sys- tem start-up in preparation for being activated. The initialization includes creating a process's context, dynami- cally allocating its memory, binding 116 DECEMBER 2000 Embedded Systems Programming

Articles in this issue

Archives of this issue

view archives of EETimes - Embedded Systems December 2000 Vol13_13