gsoc18-qemu

Google Summer of Code ‘18 QEMU Cortex-M0 / BBC:Microbit Final Report

Scope and goals of the project

The goal of the project was to provide a working bbc:microbit emulation to the Quick Emulator (QEMU). The bbc:microbit is a one board educational computer comprising a Nordic Semiconductor nRF51822 System-on-Chip (SOC) microcontroller based around a ARM Cortex-M0 CPU. The board contains buttons, an 2D dot matrix LED display, a radio and various sensors. Prior to the project, QEMU had no support for the process architecture, the processor, the SOC and the peripheral board. Support for the processor architecture (ARMv6-M) and the Cortex-M0 processor was added by Julia Suvorova as part of her Outreachy project.

Scope and goals of my work during the project

My goals for the project were to work on the bbc:microbit board and nRF51822 peripheral model implementation to be able to at least successfully run the bbc:microbit micropython and microsoft pxt (javascript) kernels. Furthermore a user interface was to be added to provide means of interaction with the firmware.

What is done

The following contributions were provided and are in the process of being reviewed & merged:

With the devices mentioned above and the contributions of Julia Suvorova a user can successfully run and interact with the micropython and microsoft pxt firmwares.

Todo