Browsing by Author "Barr, Thomas William"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item Microcontroller Programming for the Modern World(2014-04-25) Barr, Thomas William; Rixner, Scott; Cox, Alan L.; O'Malley, Marcia K.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.Item System and method for managing input/output data of peripheral devices(2015-03-17) Barr, Thomas William; Rixner, Scott; Rice University; United States Patent and Trademark OfficeA method for communicating data between peripheral devices and an embedded processor that includes receiving, at a data buffer unit of the embedded processor, the data from a peripheral device. The method also includes copying data from the data buffer unit into the bridge buffer of the embedded processor as a bridge buffer message. Additionally, the method includes creating, after storing the data as a bridge buffer message, a peripheral device message comprising the bridge buffer message, and sending the peripheral device message to a thread message queue of a subscriber.