- Laboratoire d’informatique Le LIP6 soutient la campagne Octobre Rose de prévention contre le cancer du sein

RSS

Synchronous Programming of Device Drivers for Global Resource Control in Embedded Operating Systems

Lundi 7 mai 2012
Nicolas Berthier, Florence Maraninchi (Verimag)

In embedded systems, controlling a shared resource like the bus, or improving a property like power consumption, may be hard to achieve when programming device drivers individually. In this paper, we propose a global resource control approach, based on a centralized view of the devices’ states. The solution we propose operates on the hardware/software interface. It involves a simple adaptation of the application level, to communicate with the hardware via a control layer. The control layer itself is built from a set of simple automata: the device drivers, whose states correspond to functional or power consumption modes, and a controller to enforce global properties. All these automata are programmed using a synchronous language, and compiled into a single piece of C code. We take as example the node of a sensor network. We explain the approach in details, demonstrate its use and benefits with an event-driven or multithreading operating system, and draw guidelines for its use in other contexts.

Gille.Muller (at) nulllip6.fr