Design and Implementation of an Embedded Python Run-Time System

Authors: 

Thomas W. Barr, Rebecca Smith, and Scott Rixner, Rice University

Abstract: 

This paper presents the design and implementation of a complete embedded Python run-time system for the ARM Cortex-M3 microcontroller. The Owl embedded Python run-time system introduces several key innovations, including a toolchain that is capable of producing relocatable memory images that can be utilized directly by the run-time system and a novel foreign function interface that enables the efficient integration of native C code with Python.

The Owl system demonstrates that it is practical to run high-level languages on embedded microcontrollers. Instrumentation within the system has led to an overall system design that enables Python code to be executed with low memory and speed overheads. Furthermore, this paper presents an evaluation of an autonomous RC car that uses a controller written entirely in Python. This demonstrates the ease with which complex embedded software systems can be built using the Owl infrastructure.

 

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {180964,
author = {Thomas W. Barr and Rebecca Smith and Scott Rixner},
title = {Design and Implementation of an Embedded Python {Run-Time} System},
booktitle = {2012 USENIX Annual Technical Conference (USENIX ATC 12)},
year = {2012},
isbn = {978-931971-93-5},
address = {Boston, MA},
pages = {297--308},
url = {https://www.usenix.org/conference/atc12/technical-sessions/presentation/barr},
publisher = {USENIX Association},
month = jun
}

Presentation Video

Presentation Audio

Comments

0 likes
0 dislikes