Tutorial: “Architecture of Embedded Device Drivers”
This technical tutorial by veteran real-time instructor David Kalinsky examines the high-level design of driver software to operate hardware devices that are interfaced to embedded computers. It begins with a discussion of basic issues such as mutual exclusion of device access, and synchronous vs. asynchronous input/output models. Then it goes through a series of structural models for device driver design with RTOS interaction, going from simple to more complex.