Microcontroller Programming for the Modern World

Thomas W. Barr · Rice Research Repository (Rice University) · 2014

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.

Read the paper · More papers on PaperTik