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 article, 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 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 the desired device driver functionalities to generate. The template is used then to automatically generate drivers compliant with (i) the CPU organization, (ii) the use in a simulated or in a real platform, (iii) the interrupt support, (iv) the operating system (OS), (v) the I/O architecture, and (vi) the possible parallel execution. The proposed methodology has been successfully tested on a family of embedded platforms with different CPU organizations.
Semi-Automatic Generation of Device Drivers for Rapid Embedded Platform Development / Acquaviva, Andrea; N., Bombieri; F., Fummi; Vinco, Sara. - In: IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS. - ISSN 0278-0070. - 32:9(2013), pp. 1293-1306. [10.1109/TCAD.2013.2257924]
Semi-Automatic Generation of Device Drivers for Rapid Embedded Platform Development
ACQUAVIVA, ANDREA;VINCO, SARA
2013
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 article, 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 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 the desired device driver functionalities to generate. The template is used then to automatically generate drivers compliant with (i) the CPU organization, (ii) the use in a simulated or in a real platform, (iii) the interrupt support, (iv) the operating system (OS), (v) the I/O architecture, and (vi) the possible parallel execution. The proposed methodology has been successfully tested on a family of embedded platforms with different CPU organizations.Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/11583/2529508
Attenzione
Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo