Microcontroller Programming for the Modern World

Date
2014-04-25
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract

Microcontroller development is much too hard, not only for beginners, but also for experts.

While the programming languages community has developed rich high-level languages and run-time systems that make programming traditional large systems easy and fun, the microcontroller developer languishes in a world of direct register access, incomplete C compilers, and manual memory management. For the past four years, the Rice Computer Architecture Group has been addressing this by developing Owl, an open-source microcon- troller development system for the modern world. Owl includes support for the proven and easy-to-use language Python. It also supports Medusa, a new language designed specif- ically for embedded, concurrent programming. Finally, it introduces Hoot, a distributed computing environment that allows a programmer to treat a heterogeneous collection of controllers and networks as a single large application.

This thesis presents the design of Owl as well as a detailed quantitative evaluation of it. These results show that not only is it possible to run sophisticated system software on a microcontroller, but that doing so makes building applications much easier. The results and innovations presented here are adaptable to the embedded run-times of the future and have the potential to make microcontroller development easier for everyone.

Description
Degree
Doctor of Philosophy
Type
Thesis
Keywords
Microcontrollers, Python, Embedded, Actor model, Programming models, ARM, AVR, Medusa
Citation

Barr, Thomas William. "Microcontroller Programming for the Modern World." (2014) Diss., Rice University. https://hdl.handle.net/1911/76362.

Has part(s)
Forms part of
Published Version
Rights
Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
Link to license
Citable link to this page