NotesFAQContact Us
Search Tips
ERIC Number: ED524592
Record Type: Non-Journal
Publication Date: 2010
Pages: 240
Abstractor: As Provided
Reference Count: 0
ISBN: ISBN-978-1-1244-4565-6
Support for Resource Constrained Microcontroller Programming by a Broad Developer Community
Amar, Amichi
ProQuest LLC, Ph.D. Dissertation, University of California, Santa Barbara
Resource constrained microcontrollers with as little as several hundred bytes of RAM and a few dozen megahertz of processing power are the most prevalent computing devices on earth. Microcontrollers and the many application components that interface to them, such as sensors, actuators, transceivers and displays are now cheap and readily available. Once costly development tools are now downloadable from the Internet and usable for free. Interest in application development using resource constrained microcontrollers has expanded beyond embedded system engineers to a broad audience of those that include artists, designers, students and product developers in all sectors of industry and fields of research. Developing application software for resource constrained systems is a complex process. The lack of microcontroller resources preclude the use of modern high-level programming languages and operating systems. Modern development practices that support uniform software development across hardware platforms are virtually nonexistent. Additionally, device manufacturers adhere to customer lock-in business practices making compatibility between vendor tools hard to come by and transitions between vendor technologies costly and time consuming. The focus of this dissertation is to support the development of software for resource constrained microcontroller-based systems by an audience with a broad range of technical skills. Our goal is to support uniform development for a diversity of application categories on heterogeneous hardware. Specifically, we design, implement and evaluate a new high-level programming language called Em with constructs and support for modularity, abstraction, software reuse, portability and reconfigurability for differing application requirements, hardware configurations, and quantities of runtime resources. For additional application development support we design, implement in Em, and evaluate a hardware abstraction layer and model for runtime concurrency. Our empirical results indicate that high-level language constructs can effectively be used in a resource constrained environment and achieve at least equivalent resource utilization compared to C and other related systems. We show through a demonstration and evaluation of real applications how we can support modern software development practices for authoring reusable, configurable, portable software for a diversity of hardware platforms. A hardware abstraction layer and a runtime model for concurrency provide additional support for development by, respectively, providing uniform interfaces to hardware functionality and relieving developers from individually implementing concurrency mechanisms. Finally, we conduct a user study with university students showing how non-embedded systems experts and people with generally less technical expertise can successfully learn and develop non-trivial applications with Em. [The dissertation citations contained here are published with the permission of ProQuest LLC. Further reproduction is prohibited without permission. Copies of dissertations may be obtained by Telephone (800) 1-800-521-0600. Web page:]
ProQuest LLC. 789 East Eisenhower Parkway, P.O. Box 1346, Ann Arbor, MI 48106. Tel: 800-521-0600; Web site:
Publication Type: Dissertations/Theses - Doctoral Dissertations
Education Level: Higher Education
Audience: N/A
Language: English
Sponsor: N/A
Authoring Institution: N/A