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

BOMBIERI, Nicola;FUMMI, Franco;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.
Device driver; Embedded systems; Driver synthesis
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: http://hdl.handle.net/11562/533359
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 1
social impact