skip to main content
10.1145/384198.384214acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article

Dealing with Hardware in Embedded Software: A General Framework Based on the Devil Language

Published:01 August 2001Publication History

ABSTRACT

Writing code that talks to hardware is a crucial part of any embedded project. Both productivity and quality are needed, but some flaws in the traditional development process make these requirements difficult to meet.

We have recently introduced a new approach of dealing with hardware, based on the Devil language. Devil allows to write a high-level, formal definition of the programming interface of a peripheral circuit. A compiler automatically checks the consistency of a Devil specification, from which it generates the low-level, hardware-operating code.

In our original framework, the generated code is dependent of the host architecture (CPU, buses, and bridges). Consequently, any variation in the hardware environment requires a specific tuning of the compiler. Considering the variability of embedded architectures, this is a serious drawback. In addition, this prevents from mixing different buses in the same circuit interface.

In this paper, we remove those limitations by improving our framework in two ways. (i) We propose a better isolation between the Devil compiler and the host architecture. (ii) We introduce Trident, a language extension aimed at mapping one or several buses to each peripheral circuit.

References

  1. 1.Display Data Channel Command Interface (DDC/CI). Web site. http://www.vesa.org/.]]Google ScholarGoogle Scholar
  2. 2.E. N. Dekker and J. M. Newcomer. Developing Windows NT device drivers : A programmer's handbook. Addison-Wesley, first edition, March 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.IEEE Standards. 1076-1993 Standard VHDL Language Reference Manual, 1994. http://standards.ieee.org/.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.M. Levy. Microprocessor and DSP technologies unite for embedded applications. EDN Magazine, Issue 5, March 1998. http://www.ednmag.com/.]]Google ScholarGoogle Scholar
  5. 5.F. Merillon, L. Reveillere, C. Consel, R. Marlet, and G. Muller. Devil: An IDL for hardware programming. In Proceedings of the 4th Symposium on Operating Systems Design and Implementation (OSDI 2000), San Diego, California, October 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.L. Reveillere, F. Merillon, C. Consel, R. Marlet, and G. Muller. A DSL Approach to Improve Productivity and Safety in Device Drivers Development. In Proceedings of the 15th International Conference on Automated Software Engineering (ASE 2000), Grenoble, France, September 2000. IEEE Computer Society Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.L. Reveillere and G. Muller. Improving Driver Robustness: an Evaluation of the Devil Approach. In Proceedings of the 2nd International Conference on Dependable Systems and Network (DSN 2001), G.oteborg, Sweden, July 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.A. Rubini. Linux Device Drivers. O'Reilly, first edition, February 1998.]]Google ScholarGoogle Scholar
  9. 9.L. Reveillere, F. Merillon, C. Consel, R. Marlet, and G. Muller. The Devil Language. Technical Report RT-0244, INRIA, Rennes, France, October 2000.]]Google ScholarGoogle Scholar
  10. 10.Serial ATA. Web site. http://www.serialata.org/.]]Google ScholarGoogle Scholar
  11. 11.System Management Bus (SMBus). Web site. http://www.smbus.org/.]]Google ScholarGoogle Scholar
  12. 12.Scott Thibault, Renaud Marlet, and Charles Consel. A domain-specific language for video device driver: from design to implementation. In Proceedings of the 1st USENIX Conference on Domain-Specific Languages, Santa Barbara, California, October 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Universal Serial Bus (USB). Web site. http://www.usb.org/.]]Google ScholarGoogle Scholar

Index Terms

  1. Dealing with Hardware in Embedded Software: A General Framework Based on the Devil Language

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        OM '01: Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems
        August 2001
        250 pages
        ISBN:1581134266
        DOI:10.1145/384198

        Copyright © 2001 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 August 2001

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Upcoming Conference

        PLDI '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader