Features/MicroBit: Difference between revisions

From QEMU
m (Add i2c accel/mag)
No edit summary
Line 26: Line 26:
** SysTick timer
** SysTick timer
** NVIC irq controller
** NVIC irq controller
* UART
* UART [Julia]
* Watchdog
* Watchdog
* Clock controller
* Clock controller
Line 40: Line 40:


==Peripherals==
==Peripherals==
* A & B Buttons
* A & B Buttons [Steffen]
* 5x5 LEDs
* 5x5 LEDs
* i2c Accelerometer/Magnetometer
* i2c Accelerometer/Magnetometer

Revision as of 08:12, 14 May 2018

The micro:bit is a small ARMv6-M board designed for learning about computers. It can be programmed in Python, Javascript, and C/C++.

Julia Suvorova and Steffen Görtz are implementing micro:bit support in QEMU as part of the Outreachy and Google Summer of Code internship program.

Details

Patches

v1 of Joel's micro:bit machine:

Patchwork Message ID
http://patchwork.ozlabs.org/patch/907900/ 20180503090532.3113-2-joel@jms.id.au
http://patchwork.ozlabs.org/patch/907902/ 20180503090532.3113-3-joel@jms.id.au

Devices

nRF51 System-on-Chip

  • Cortex M0 (ARMv6-M) CPU
    • SysTick timer
    • NVIC irq controller
  • UART [Julia]
  • Watchdog
  • Clock controller
  • Timers
  • RTC
  • RNG
  • TWI (i2c)
  • SPI
  • ADC
  • Quadrature decoder
  • Radio
  • GPIO

Peripherals

  • A & B Buttons [Steffen]
  • 5x5 LEDs
  • i2c Accelerometer/Magnetometer

User interface

  • New WebSocket QMP monitor for UI commands
  • Button commands
  • LED update events
  • HTML/Javascript frontend that connects to WebSocket UI monitor