[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/384197.384214acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

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

Published: 01 August 2001 Publication 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]
Display Data Channel Command Interface (DDC/CI). Web site. http://www.vesa.org/.]]
[2]
E. N. Dekker and J. M. Newcomer. Developing Windows NT device drivers : A programmer's handbook. Addison-Wesley, first edition, March 1999.]]
[3]
IEEE Standards. 1076-1993 Standard VHDL Language Reference Manual, 1994. http://standards.ieee.org/.]]
[4]
M. Levy. Microprocessor and DSP technologies unite for embedded applications. EDN Magazine, Issue 5, March 1998. http://www.ednmag.com/.]]
[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.]]
[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.]]
[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.]]
[8]
A. Rubini. Linux Device Drivers. O'Reilly, first edition, February 1998.]]
[9]
L. Reveillere, F. Merillon, C. Consel, R. Marlet, and G. Muller. The Devil Language. Technical Report RT-0244, INRIA, Rennes, France, October 2000.]]
[10]
Serial ATA. Web site. http://www.serialata.org/.]]
[11]
System Management Bus (SMBus). Web site. http://www.smbus.org/.]]
[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.]]
[13]
Universal Serial Bus (USB). Web site. http://www.usb.org/.]]

Cited By

View all
  • (2024)Jacdac: Service-Based Prototyping of Embedded SystemsProceedings of the ACM on Programming Languages10.1145/36564058:PLDI(692-715)Online publication date: 20-Jun-2024
  • (2007)Optimal allocation of I/O device parameters in hardware and software codesign methodologyProceedings of the 2007 international conference on Embedded and ubiquitous computing10.5555/1780745.1780804(541-552)Online publication date: 17-Dec-2007
  • (2007)Optimal Allocation of I/O Device Parameters in Hardware and Software Codesign MethodologyEmbedded and Ubiquitous Computing10.1007/978-3-540-77092-3_47(541-552)Online publication date: 2007
  • Show More Cited By

Index Terms

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

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      LCTES '01: Proceedings of the ACM SIGPLAN workshop on Languages, compilers and tools for embedded systems
      August 2001
      250 pages
      ISBN:1581134258
      DOI:10.1145/384197
      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]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 August 2001

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. device drivers
      2. domain-specific languages
      3. embedded systems

      Qualifiers

      • Article

      Conference

      LCTES01
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 116 of 438 submissions, 26%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)3
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 14 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Jacdac: Service-Based Prototyping of Embedded SystemsProceedings of the ACM on Programming Languages10.1145/36564058:PLDI(692-715)Online publication date: 20-Jun-2024
      • (2007)Optimal allocation of I/O device parameters in hardware and software codesign methodologyProceedings of the 2007 international conference on Embedded and ubiquitous computing10.5555/1780745.1780804(541-552)Online publication date: 17-Dec-2007
      • (2007)Optimal Allocation of I/O Device Parameters in Hardware and Software Codesign MethodologyEmbedded and Ubiquitous Computing10.1007/978-3-540-77092-3_47(541-552)Online publication date: 2007
      • (2006)Cooptimization of interface hardware and software for I/O controllersProceedings of the conference on Design, automation and test in Europe: Proceedings10.5555/1131481.1131685(724-725)Online publication date: 6-Mar-2006
      • (2005)A hardware/software codesign approach for programmable IO devicesProceedings of the 15th ACM Great Lakes symposium on VLSI10.1145/1057661.1057739(323-327)Online publication date: 17-Apr-2005

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media