Porting Micropython to bare-metal Raspberry Pi

In the last months I ported Micropython to the Raspberry Pi. Micropython is an embedded Python interpreter, which already runs on ARM Cortex-M processors. I had to understand the build process, alter it as to target the Raspberry Pi processor and fix some annoying bugs and glitches. The result is a port of Micropython which can execute Python code on the Raspberry Pi bare-metal. The port however only targets the Raspberry Pi 1 and Raspberry Pi Zero, with the ARM1176jzf-s processor. Porting to the Pi2 or Pi3 should not be that hard, as they feature an ARM Cortex-A processor.

The paper enclosed is the written work submitted for grading to the Operating System Group [1] at TU Chemnitz. Also I edited a schematic of the Raspberry Pi Zero to include the numbers of the pins in its GPIO-pinheader, which can be downloaded and used freely. The port can be found in [2] (as long as it is not merged).

The term paper can be found here. The Raspberry Pi Zero schematic can be downloaded here.

[1] https://osg.informatik.tu-chemnitz.de
[2] https://github.com/naums/micropython

Schematic of the Raspberry Pi Zero with GPIO-Names

Last edit: 27.12.2017 12:12