Title :
Semi-Automatic Generation of Device Drivers for Rapid Embedded Platform Development
Author :
Acquaviva, Andrea ; Bombieri, Nicola ; Fummi, F. ; Vinco, S.
Author_Institution :
Dept. of Control & Comput. Eng., Politec. di Torino, Turin, Italy
Abstract :
IP core integration into an embedded platform implies the implementation of a customized device driver complying with both the IP communication protocol and the CPU organization (single processor, SMP, AMP). Such a close dependence between driver and platform organization makes reuse of already existing device drivers very hard. Designers are forced to manually customize the driver code to any different organization of the target platform. This results in a very time-consuming and error-prone task. In this paper, we propose a methodology to semi-automatically generate customized device drivers, thus allowing a more rapid embedded platform development. The methodology exploits the testbench provided with the RTL IP module for extracting the formal model of the IP communication protocol. Then, a taxonomy of device drivers based on the CPU organization allows the system to determine the characteristics of the target platform and to obtain a template of the device driver code. This requires some manual support to identify the target architecture and to generate the desired device driver functionality. The template is used then to automatically generate drivers compliant with 1) the CPU organization, 2) the use in a simulated or in a real platform, 3) the interrupt support, 4) the operating system, 5) the I/O architecture, and 6) possible parallel execution. The proposed methodology has been successfully tested on a family of embedded platforms with different CPU organizations.
Keywords :
access protocols; driver circuits; embedded systems; logic circuits; microprocessor chips; AMP; CPU organization; I/O architecture; IP communication protocol; IP core integration; RTL IP module; SMP; device drivers; driver code; error-prone task; interrupt support; operating system; rapid embedded platform development; semiautomatic generation; single processor; time-consuming task; Central Processing Unit; Computer architecture; Organizations; Performance evaluation; Protocols; Registers; Taxonomy; Device driver design; embedded systems; hardware-software co-design; platform development;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2013.2257924