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
Link To Document