Authors:
William Agosto-Padilla
;
Ramesh Karne
and
Alexander Wijesinha
Affiliation:
Towson University, United States
Keyword(s):
Linux, 802.11 Wireless, Device Driver, Bare Machine, Transformation.
Related
Ontology
Subjects/Areas/Topics:
Service-Oriented Software Engineering and Management
;
Software and Systems Development Methodologies
;
Software Engineering
Abstract:
Developing device drivers is often tedious and error-prone. Drivers for bare machine applications that run without an OS have been previously written by directly using specification documents. Transformation is an alternate approach that attempts to develop a bare machine driver by using existing code for an OS driver. We investigate the transformation of a Broadcom Linux 802.11n wireless device driver to a bare machine driver. As a first step towards understanding the transformation, we study the functions and OS dependencies of the Linux driver. The driver module is analyzed by examining its interaction with other modules, providing details of its key elements and code sizes, and by comparing code sizes with its counterpart Windows driver. We also discuss design issues that will be useful for developing device drivers that are independent of any operating system, kernel, or embedded system.