Device Driver Generation and Checking Approach
Resumo
Optimizing time and effort in embedded systems design is essential nowadays. The increased productivity gap together with the reduced time to market make the design of some components of the system the main design bottleneck.Taking into account the natural complexity of HdS design, a software checking technique helps finding bugs. However the increasing complexity of HdS makes the development and use of checking techniques a challenge.Reducing the time spent to build the checking environment can be a solution for this kind of problem. This can be accomplished by automating the generation of the checking environment from a device specification. The use of virtual platforms also represents an advantage since it supports to start the HdS development in an initial design phase.This paper proposes an approach for checking errors during the development of a very error prone Hardware dependent Software, that is device drivers. The proposed checking mechanism can be generated from a device specification using a language called Temporal DevC. Taking a device description in TDevC, the proposed approach generates a driver checking mechanism based on state machines. Experiments show the efficiency and effectiveness of the proposed mechanism, enabling its use for the detection of unwanted flows in the device driver simulation as well.
Referências
G. E. Moore Cramming more components onto integrated circuits 1965 pp. 114-117.
Q.-L. Zhang M.-Y. Zhu and S.-Y. Chen "Automatic generation of device drivers " ACM SIGPLAN Notices vol. 38 no. 6 p. 60 2003.
E. B. Lisboa L. Silva T. Lima I. Chaves and E. Barros "An Approach to Concurrent Development of Device Drivers and Device Controller " Design pp. 571-575 2009.
J. N. Herder H. Bos B. Gras P. Homburg and A. S. Tanenbaum "Failure Resilience for Device Drivers " 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN'07) pp. 41-50 2007. (Pubitemid 350080408)
S. Wang S. Malik and R. Bergamaschi "Modeling and integration of peripheral devices in embedded systems " 2003 Design Automation and Test in Europe Conference and Exhibition pp. 136-141 2003. [Online]. Available: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1253599
L. Ryzhyk "On the construction of reliable device drivers " Ph.D. dissertation 2011.
C. Consel R. Marlet G. Muller C. Group and C. U. D. Beaulieu "A DSL Approach to Improve Productivity and Safety in Device Drivers Development " Writing 2000.
D. John Aynsley OSCI TLM-2.0 LANGUAGE REFERENCE MANUAL. Open SystemC Initiative (OSCI) July 2009.
Eclipse. (2011 April) Jet framework. [Online]. Available: http://www.eclipse.org/modeling/m2t/?project=jet#jet
J. Osier. (1993) Gnu profiler gprof. [Online]. Available: http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html
J. Seward N. Nethercote T. Hughes J. Fitzhardinge J. Weidendorfer P. Mackerras G. Parker R. Walsh B. V. Assche C. Armour-Brown K. Batuzov D. Robinson V. Weaver F. Gobry D. Berlin M. Matz S. Hausmann and D. Woodhouse Valgrind Documentation June 2010. [Online]. Available: http://valgrind.org
Philips semiconductors PCF8833 STN RGB - 132 x 132 x 3 driver data sheet. February 2003.
Compaq Microsoft and N. Semiconductors OpenHCI - Open Host Controller Interface Specification For USB September 1999.
Compaq Hewlett-Packard Intel Lucent Microsoft NEC and Philips Universal Serial Bus Specification 1998.