• DocumentCode
    558959
  • Title

    Device register classes for embedded systems

  • Author

    Engdahl, Jonathan R. ; Chung, Dukki

  • Author_Institution
    Adv. Technol., Rockwell Autom., Mayfield Heights, OH, USA
  • fYear
    2011
  • fDate
    26-29 Oct. 2011
  • Firstpage
    773
  • Lastpage
    778
  • Abstract
    A device register is the view any peripheral device presents to the software world. Low-level routines in typical embedded systems, e.g., device drivers, communicate with devices by reading and writing device registers. Many processors use memory-mapped I/O, which assigns device registers to fixed addresses in conventional memory. To high level languages like C or C++, memory mapped devices behave like ordinary data objects to some extent. Programs use assignment operators to read values from or write values to memory mapped device registers. Unfortunately, traditional approaches for organizing and accessing memory-mapped devices are inconvenient and error prone. In this paper, a new way of writing and using C++ classes which encapsulate memory mapped device registers is described. The principle is extended to handle I/O mapped device registers for coprocessors. A Device Register Class description language is also described.
  • Keywords
    computer peripheral equipment; coprocessors; device drivers; embedded systems; coprocessor; description language; device driver; device register; embedded system; high level language; low-level routines; memory mapped device; memory-mapped I/O; peripheral device; software world; Buffer storage; Registers; device register; device register class description language; embedded systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Control, Automation and Systems (ICCAS), 2011 11th International Conference on
  • Conference_Location
    Gyeonggi-do
  • ISSN
    2093-7121
  • Print_ISBN
    978-1-4577-0835-0
  • Type

    conf

  • Filename
    6106297