Features/MicroBit: Difference between revisions
No edit summary |
No edit summary |
||
(40 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
== Patches == | == Patches == | ||
{| class="wikitable" | |||
! scope="col"| Date | |||
! scope="col"| Name | |||
! scope="col"| Message ID | |||
! scope="col"| Status | |||
|- | |||
|5/3/18 | |||
|<s>[PATCH 0/2] arm: Add nRF51 SoC and micro:bit machine</s> | |||
| [http://patchew.org/QEMU/20180503090532.3113-1-joel@jms.id.au/ 20180503090532.3113-1-joel@jms.id.au] | |||
| superseded | |||
|- | |||
|5/29/18 | |||
|[RFC 0/3] nRF51 SoC: Add UART support | |||
|[http://patchew.org/QEMU/20180529220338.10879-1-jusual@mail.ru/ 20180529220338.10879-1-jusual@mail.ru] | |||
| Not merged | |||
|- | |||
|6/2/18 | |||
|<s>[RFC 0/2] arm: add skeleton Cortex M0 CPU model</s> | |||
|[http://patchew.org/QEMU/20180602141446.29982-1-stefanha@redhat.com/ 20180602141446.29982-1-stefanha@redhat.com] | |||
| superseded | |||
|- | |||
|6/3/18 | |||
|[RFC v3] qapi: command category to stimulate high-level machine devices | |||
|[http://patchew.org/QEMU/20180603203412.11033-1-contrib@steffen-goertz.de/ 20180603203412.11033-1-contrib@steffen-goertz.de] | |||
| not merged | |||
|- | |||
|6/10/18 | |||
|<s>[RFC] target/arm: add ARMv6-M UNDEFINED 32-bit instruction test</s> | |||
|[http://patchew.org/QEMU/20180610153556.17107-1-stefanha@redhat.com/ 20180610153556.17107-1-stefanha@redhat.com] | |||
| superseded | |||
|- | |||
|6/12/18 | |||
|[PATCH] target/arm: Allow ARMv6-M Thumb2 instructions | |||
|[http://patchew.org/QEMU/20180612204632.28780-1-jusual@mail.ru/ 20180612204632.28780-1-jusual@mail.ru] | |||
| merged | |||
|- | |||
|6/14/18 | |||
|[RFC v2] target/arm: add ARMv6-M UNDEFINED 32-bit instruction test | |||
|[http://patchew.org/QEMU/20180614081610.12092-1-stefanha@redhat.com/ 20180614081610.12092-1-stefanha@redhat.com] | |||
| not merged | |||
|- | |||
|6/18/18 | |||
|[PATCH] target/arm: Minor cleanup for ARMv6-M 32-bit instructions | |||
|[http://patchew.org/QEMU/20180618214604.6777-1-jusual@mail.ru/ 20180618214604.6777-1-jusual@mail.ru] | |||
| merged | |||
|- | |||
|6/19/18 | |||
|<s>[RFC] Add NRF51 RNG peripheral</s> | |||
|[http://patchew.org/QEMU/20180619105451.29163-1-contrib@steffen-goertz.de/ 20180619105451.29163-1-contrib@steffen-goertz.de] | |||
| superseded | |||
|- | |||
|6/19/18 | |||
|<s>[PATCH] target/arm: Set strict alignment for ARMv6-M load/store</s> | |||
|[http://patchew.org/QEMU/20180619204237.9931-1-jusual@mail.ru/ 20180619204237.9931-1-jusual@mail.ru] | |||
| superseded | |||
|- | |||
|6/22/18 | |||
|[PATCH v2 0/2] Strict alignment for ARMv6-M and ARMv8-M Baseline | |||
|[http://patchew.org/QEMU/20180622080138.17702-1-jusual@mail.ru/ 20180622080138.17702-1-jusual@mail.ru] | |||
| merged | |||
|- | |||
|6/26/18 | |||
|<s>[RFC v2] arm: Add NRF51 SOC non-volatile memory controller</s> | |||
|[http://patchew.org/QEMU/20180626093204.27612-1-contrib@steffen-goertz.de/ 20180626093204.27612-1-contrib@steffen-goertz.de] | |||
| superseded | |||
|- | |||
|6/26/18 | |||
|<s>[RFC] arm: Add NRF51 SOC non-volatile memory controller</s> | |||
|[http://patchew.org/QEMU/20180626081743.22097-1-contrib@steffen-goertz.de/ 20180626081743.22097-1-contrib@steffen-goertz.de] | |||
| superseded | |||
|- | |||
|6/26/18 | |||
|<s>[RFC v2] arm: Add NRF51 random number generator peripheral</s> | |||
|[http://patchew.org/QEMU/20180626104943.2756-1-contrib@steffen-goertz.de/ 20180626104943.2756-1-contrib@steffen-goertz.de] | |||
| superseded | |||
|- | |||
|6/27/18 | |||
|[PATCH v2 0/3] arm: Add nRF51 SoC and micro:bit machine | |||
| [http://patchew.org/QEMU/20180627143815.1829-1-joel@jms.id.au/ 20180627143815.1829-1-joel@jms.id.au] | |||
| not merged | |||
|- | |||
|6/27/18 | |||
|[RFC 0/8] arm: Changes to Microbit Board and NRF51 SOC | |||
|[http://patchew.org/QEMU/20180627073351.856-1-contrib@steffen-goertz.de/ 20180627073351.856-1-contrib@steffen-goertz.de] | |||
| not merged | |||
|- | |||
|6/30/18 | |||
|[PATCH v2 0/3] arm: add skeleton Cortex M0 CPU model | |||
|[http://patchew.org/QEMU/20180630091343.14391-1-stefanha@redhat.com/ 20180630091343.14391-1-stefanha@redhat.com] | |||
| not merged | |||
|- | |||
|7/2/18 | |||
|[PATCH] qtest: Use cpu address space instead of system memory | |||
|[http://patchew.org/QEMU/20180702065237.27899-1-jusual@mail.ru/ 20180702065237.27899-1-jusual@mail.ru] | |||
| merged | |||
|- | |||
|7/4/18 | |||
|<s>[PATCH 0/2] nvic: Handle ARMv6-M SCS reserved registers</s> | |||
|[http://patchew.org/QEMU/20180704195812.28798-1-jusual@mail.ru/ 20180704195812.28798-1-jusual@mail.ru] | |||
| superseded | |||
|- | |||
|7/4/18 | |||
|<s>[PATCH] target/arm: Forbid unprivileged mode for M Baseline</s> | |||
|[http://patchew.org/QEMU/20180704203639.29553-1-jusual@mail.ru/ 20180704203639.29553-1-jusual@mail.ru] | |||
| superseded | |||
|- | |||
|7/5/18 | |||
|<s>[PATCH v2 0/2] nvic: Handle ARMv6-M SCS reserved registers</s> | |||
|[http://patchew.org/QEMU/20180705215052.8795-1-jusual@mail.ru/ 20180705215052.8795-1-jusual@mail.ru] | |||
| superseded | |||
|- | |||
|7/5/18 | |||
|[PATCH v3 0/2] nvic: Handle ARMv6-M SCS reserved registers | |||
|[http://patchew.org/QEMU/20180705222115.17013-1-jusual@mail.ru/ 20180705222115.17013-1-jusual@mail.ru] | |||
| queued | |||
|- | |||
|7/5/18 | |||
|[PATCH v2] target/arm: Forbid unprivileged mode for M Baseline | |||
|[http://patchew.org/QEMU/20180705222622.17139-1-jusual@mail.ru/ 20180705222622.17139-1-jusual@mail.ru] | |||
| queued | |||
|- | |||
|7/12/18 | |||
|[RFC v3 0/2] Add NRF51 SOC non-volatile memory controller | |||
|[http://patchew.org/QEMU/20180712101219.32707-1-contrib@steffen-goertz.de/ 20180712101219.32707-1-contrib@steffen-goertz.de] | |||
| not merged | |||
|- | |||
|7/13/18 | |||
|[PATCH] arm: Add ARMv6-M programmer's model support | |||
|[http://patchew.org/QEMU/20180713103059.12539-1-jusual@mail.ru/ 20180713103059.12539-1-jusual@mail.ru] | |||
| not merged | |||
|- | |||
|7/13/18 | |||
|[RFC v3] arm: Add NRF51 random number generator peripheral | |||
|[http://patchew.org/QEMU/20180713154007.3853-1-contrib@steffen-goertz.de/ 20180713154007.3853-1-contrib@steffen-goertz.de] | |||
| not merged | |||
|- | |||
|7/15/18 | |||
|<s>[RFC 1/2] arm: Add nRF51 GPIO peripheral</s> | |||
|[http://patchew.org/QEMU/20180715163404.10077-1-contrib@steffen-goertz.de/ 20180715163404.10077-1-contrib@steffen-goertz.de] | |||
| superseded | |||
|- | |||
|7/16/18 | |||
|[RFC v2 1/2] arm: Add nRF51 GPIO peripheral | |||
|[http://patchew.org/QEMU/20180716104744.11105-1-contrib@steffen-goertz.de/ 20180716104744.11105-1-contrib@steffen-goertz.de] | |||
| not merged | |||
|- | |||
|7/25/18 | |||
|<s>[PATCH v3 0/7] arm: add Cortex M0 CPU model and hex file loader</s> | |||
|[https://patchew.org/QEMU/20180725085944.11856-1-stefanha@redhat.com/ 20180725085944.11856-1-stefanha@redhat.com] | |||
| superseded | |||
|- | |||
|7/26/18 | |||
|<s>[PATCH v3 0/3] arm: Add nRF51 SoC and micro:bit machine</s> | |||
|[https://patchew.org/QEMU/20180726023645.13927-1-joel@jms.id.au/ 20180726023645.13927-1-joel@jms.id.au] | |||
| superseded | |||
|- | |||
|8/3/18 | |||
|[PATCH v6 0/7] arm: add Cortex M0 CPU model and hex file loader | |||
|[https://patchew.org/QEMU/20180814162739.11814-1-stefanha@redhat.com/ 20180814162739.11814-1-stefanha@redhat.com] | |||
| merged | |||
|- | |||
|7/26/18 | |||
|[PATCH v5 0/3] arm: Add nRF51 SoC and micro:bit machine | |||
|[https://patchew.org/QEMU/20180816141303.20518-1-joel@jms.id.au/ 20180816141303.20518-1-joel@jms.id.au] | |||
| not merged | |||
|- | |||
|8/6/18 | |||
|[PATCH 0/7] arm: nRF51 Devices and Microbit Support | |||
|[https://patchew.org/QEMU/20180806100114.21410-1-contrib@steffen-goertz.de/ 20180806100114.21410-1-contrib@steffen-goertz.de] | |||
| not merged | |||
|- | |||
|8/11/18 | |||
|[PATCH 0/7] arm: Instantiation of nRF51 SOC and bbc:microbit devices | |||
|[https://patchew.org/QEMU/20180811090836.4024-1-contrib@steffen-goertz.de/ 20180811090836.4024-1-contrib@steffen-goertz.de] | |||
| not merged | |||
|- | |||
|8/31/18 | |||
|[PATCH v6 0/3] arm: Add nRF51 SoC and micro:bit machine | |||
|[https://patchew.org/QEMU/20180831220920.27113-1-joel@jms.id.au 20180831220920.27113-1-joel@jms.id.au] | |||
| merged | |||
|- | |||
|// | |||
|UART v3 | |||
|[https://patchew.org/QEMU/20181025005052.27661-1-jusual@mail.ru 20181025005052.27661-1-jusual@mail.ru] | |||
| merged | |||
|- | |||
| 10/30/18 | |||
|[PATCH v3 00/13] arm: nRF51 Devices and Microbit Support | |||
|[https://patchew.org/QEMU/20181031002526.14262-1-contrib@steffen-goertz.de 20181031002526.14262-1-contrib@steffen-goertz.de] | |||
| not merged | |||
|- | |||
|11/2/18 | |||
|[PATCH v4 00/13] arm: nRF51 Devices and Microbit Support | |||
|[https://patchew.org/QEMU/20181102170730.12432-1-contrib@steffen-goertz.de 20181102170730.12432-1-contrib@steffen-goertz.de] | |||
| not merged | |||
|} | |||
Patches not contributed by the gang, but necessary for the microbit tree: | |||
{| class="wikitable" | {| class="wikitable" | ||
! scope="col"| | ! scope="col"| Date | ||
! scope="col"| Name | |||
! scope="col"| Message ID | ! scope="col"| Message ID | ||
! scope="col"| Status | |||
|- | |||
| 5/16/18 | |||
|[PATCH v9 0/2] Implement Hex file loader and add test case | |||
|[http://patchew.org/QEMU/1526452467-18798-1-git-send-email-suhang16@mails.ucas.ac.cn/ 1526452467-18798-1-git-send-email-suhang16@mails.ucas.ac.cn] | |||
| merged | |||
|- | |- | ||
|http:// | | 6/1/18 | ||
|[PATCH 0/2] armv7m: Remove armv7m_init() function | |||
|[http://patchew.org/QEMU/20180601144328.23817-1-peter.maydell@linaro.org/ 20180601144328.23817-1-peter.maydell@linaro.org] | |||
| merged | |||
|- | |- | ||
| | | 7/13/18 | ||
| | | [PATCH v2 00/16] Fix crashes with introspection of ARM devices | ||
| We need to adapt our devices according to this patch | |||
| ?? | |||
|} | |} | ||
=Devices= | =Devices= | ||
==nRF51 System-on-Chip== | == nRF51 System-on-Chip == | ||
* Cortex M0 (ARMv6-M) CPU | * Cortex M0 (ARMv6-M) CPU | ||
** SysTick timer | ** SysTick timer | ||
** NVIC irq controller | ** NVIC irq controller | ||
* UART [Julia] | * <s>UART</s> [Julia] | ||
* Watchdog | * Watchdog | ||
* Clock controller [Julia] | * Clock controller [Julia] | ||
* Timers | * <s>Timers</s> [Steffen] | ||
* RTC | * RTC | ||
* RNG [Steffen] | * <s>RNG</s> [Steffen] | ||
* TWI (i2c) | * TWI (i2c) | ||
* SPI | * SPI | ||
Line 37: | Line 245: | ||
* Quadrature decoder | * Quadrature decoder | ||
* Radio | * Radio | ||
* GPIO [Steffen] | * <s>GPIO</s> [Steffen] | ||
* NVMC [ | * <s>NVMC</s> [Steffen] | ||
* <s>SWI</s> [Steffen] ''[seem to be covered by the NVIC without any work to do]'' | |||
== | == bbc:microbit == | ||
* A & B Buttons [Steffen] | * A & B Buttons [Steffen] | ||
* 5x5 LEDs | * 5x5 LEDs [Steffen] | ||
* i2c Accelerometer/Magnetometer | * i2c Accelerometer/Magnetometer | ||
Latest revision as of 17:10, 2 November 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
- Project branch: https://github.com/stefanha/qemu/tree/microbit
Patches
Date | Name | Message ID | Status |
---|---|---|---|
5/3/18 | 20180503090532.3113-1-joel@jms.id.au | superseded | |
5/29/18 | [RFC 0/3] nRF51 SoC: Add UART support | 20180529220338.10879-1-jusual@mail.ru | Not merged |
6/2/18 | 20180602141446.29982-1-stefanha@redhat.com | superseded | |
6/3/18 | [RFC v3] qapi: command category to stimulate high-level machine devices | 20180603203412.11033-1-contrib@steffen-goertz.de | not merged |
6/10/18 | 20180610153556.17107-1-stefanha@redhat.com | superseded | |
6/12/18 | [PATCH] target/arm: Allow ARMv6-M Thumb2 instructions | 20180612204632.28780-1-jusual@mail.ru | merged |
6/14/18 | [RFC v2] target/arm: add ARMv6-M UNDEFINED 32-bit instruction test | 20180614081610.12092-1-stefanha@redhat.com | not merged |
6/18/18 | [PATCH] target/arm: Minor cleanup for ARMv6-M 32-bit instructions | 20180618214604.6777-1-jusual@mail.ru | merged |
6/19/18 | 20180619105451.29163-1-contrib@steffen-goertz.de | superseded | |
6/19/18 | 20180619204237.9931-1-jusual@mail.ru | superseded | |
6/22/18 | [PATCH v2 0/2] Strict alignment for ARMv6-M and ARMv8-M Baseline | 20180622080138.17702-1-jusual@mail.ru | merged |
6/26/18 | 20180626093204.27612-1-contrib@steffen-goertz.de | superseded | |
6/26/18 | 20180626081743.22097-1-contrib@steffen-goertz.de | superseded | |
6/26/18 | 20180626104943.2756-1-contrib@steffen-goertz.de | superseded | |
6/27/18 | [PATCH v2 0/3] arm: Add nRF51 SoC and micro:bit machine | 20180627143815.1829-1-joel@jms.id.au | not merged |
6/27/18 | [RFC 0/8] arm: Changes to Microbit Board and NRF51 SOC | 20180627073351.856-1-contrib@steffen-goertz.de | not merged |
6/30/18 | [PATCH v2 0/3] arm: add skeleton Cortex M0 CPU model | 20180630091343.14391-1-stefanha@redhat.com | not merged |
7/2/18 | [PATCH] qtest: Use cpu address space instead of system memory | 20180702065237.27899-1-jusual@mail.ru | merged |
7/4/18 | 20180704195812.28798-1-jusual@mail.ru | superseded | |
7/4/18 | 20180704203639.29553-1-jusual@mail.ru | superseded | |
7/5/18 | 20180705215052.8795-1-jusual@mail.ru | superseded | |
7/5/18 | [PATCH v3 0/2] nvic: Handle ARMv6-M SCS reserved registers | 20180705222115.17013-1-jusual@mail.ru | queued |
7/5/18 | [PATCH v2] target/arm: Forbid unprivileged mode for M Baseline | 20180705222622.17139-1-jusual@mail.ru | queued |
7/12/18 | [RFC v3 0/2] Add NRF51 SOC non-volatile memory controller | 20180712101219.32707-1-contrib@steffen-goertz.de | not merged |
7/13/18 | [PATCH] arm: Add ARMv6-M programmer's model support | 20180713103059.12539-1-jusual@mail.ru | not merged |
7/13/18 | [RFC v3] arm: Add NRF51 random number generator peripheral | 20180713154007.3853-1-contrib@steffen-goertz.de | not merged |
7/15/18 | 20180715163404.10077-1-contrib@steffen-goertz.de | superseded | |
7/16/18 | [RFC v2 1/2] arm: Add nRF51 GPIO peripheral | 20180716104744.11105-1-contrib@steffen-goertz.de | not merged |
7/25/18 | 20180725085944.11856-1-stefanha@redhat.com | superseded | |
7/26/18 | 20180726023645.13927-1-joel@jms.id.au | superseded | |
8/3/18 | [PATCH v6 0/7] arm: add Cortex M0 CPU model and hex file loader | 20180814162739.11814-1-stefanha@redhat.com | merged |
7/26/18 | [PATCH v5 0/3] arm: Add nRF51 SoC and micro:bit machine | 20180816141303.20518-1-joel@jms.id.au | not merged |
8/6/18 | [PATCH 0/7] arm: nRF51 Devices and Microbit Support | 20180806100114.21410-1-contrib@steffen-goertz.de | not merged |
8/11/18 | [PATCH 0/7] arm: Instantiation of nRF51 SOC and bbc:microbit devices | 20180811090836.4024-1-contrib@steffen-goertz.de | not merged |
8/31/18 | [PATCH v6 0/3] arm: Add nRF51 SoC and micro:bit machine | 20180831220920.27113-1-joel@jms.id.au | merged |
// | UART v3 | 20181025005052.27661-1-jusual@mail.ru | merged |
10/30/18 | [PATCH v3 00/13] arm: nRF51 Devices and Microbit Support | 20181031002526.14262-1-contrib@steffen-goertz.de | not merged |
11/2/18 | [PATCH v4 00/13] arm: nRF51 Devices and Microbit Support | 20181102170730.12432-1-contrib@steffen-goertz.de | not merged |
Patches not contributed by the gang, but necessary for the microbit tree:
Date | Name | Message ID | Status |
---|---|---|---|
5/16/18 | [PATCH v9 0/2] Implement Hex file loader and add test case | 1526452467-18798-1-git-send-email-suhang16@mails.ucas.ac.cn | merged |
6/1/18 | [PATCH 0/2] armv7m: Remove armv7m_init() function | 20180601144328.23817-1-peter.maydell@linaro.org | merged |
7/13/18 | [PATCH v2 00/16] Fix crashes with introspection of ARM devices | We need to adapt our devices according to this patch | ?? |
Devices
nRF51 System-on-Chip
- Cortex M0 (ARMv6-M) CPU
- SysTick timer
- NVIC irq controller
UART[Julia]- Watchdog
- Clock controller [Julia]
Timers[Steffen]- RTC
RNG[Steffen]- TWI (i2c)
- SPI
- ADC
- Quadrature decoder
- Radio
GPIO[Steffen]NVMC[Steffen]SWI[Steffen] [seem to be covered by the NVIC without any work to do]
bbc:microbit
- A & B Buttons [Steffen]
- 5x5 LEDs [Steffen]
- 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