Device Drivers as Reusable Components

A.J.A. Wang and J.L. Díaz-Herrera (USA)

Keywords

Embedded systems, I/O devices, device drivers, operating systems, reusable components.

Abstract

The increasing diversity of I/O devices challenges the conventional approaches to driver design and implementation. This paper proposes a component-based approach to developing device drivers. As a case study, we developed a driver for the PCMCIA card on an ARM iPAQ running Pocket Linux by reusing an open-source PCMCIA card driver for Linux on X86. We first identified reusable components in the wireless LAN driver that were platform independent and thus could be reused directly in our new driver. For those platform dependent parts, we modified the existing components to fit into the new requirements. Our development time for the new driver was greatly shortened through code reuse. The TTCP benchmark test shows that the performance of our new driver is very close to the original driver in terms of computing throughput. This experiment has demonstrated the rationality and feasibility of taking device drivers as reusable components. The approach can be generalized to put together any embedded software application consisting of device drivers of various kinds.

Important Links:



Go Back