MAINTAINERS | 1 + docs/system/arm/nrf.rst | 49 ++++++++++++++++++++++++++++++++++++++ docs/system/target-arm.rst | 1 + 3 files changed, 51 insertions(+) create mode 100644 docs/system/arm/nrf.rst
This adds the target guide for BBC Micro:bit.
Information is taken from https://wiki.qemu.org/Features/MicroBit
and from hw/arm/nrf51_soc.c.
Signed-off-by: Alexandre Iooss <erdnaxe@crans.org>
---
MAINTAINERS | 1 +
docs/system/arm/nrf.rst | 49 ++++++++++++++++++++++++++++++++++++++
docs/system/target-arm.rst | 1 +
3 files changed, 51 insertions(+)
create mode 100644 docs/system/arm/nrf.rst
diff --git a/MAINTAINERS b/MAINTAINERS
index 636bf2f536..7c54611cc2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1031,6 +1031,7 @@ F: hw/*/microbit*.c
F: include/hw/*/nrf51*.h
F: include/hw/*/microbit*.h
F: tests/qtest/microbit-test.c
+F: docs/system/arm/nrf.rst
AVR Machines
-------------
diff --git a/docs/system/arm/nrf.rst b/docs/system/arm/nrf.rst
new file mode 100644
index 0000000000..e30aba8b06
--- /dev/null
+++ b/docs/system/arm/nrf.rst
@@ -0,0 +1,49 @@
+Nordic nRF boards (``microbit``)
+================================
+
+The `Nordic nRF`_ chips are a family of ARM-based System-on-Chip that
+are designed to be used for low-power and short-range wireless solutions.
+
+.. _Nordic nRF: https://www.nordicsemi.com/Products
+
+The nRF51 series is the first series for short range wireless applications.
+It is superseded by the nRF51 series.
+The following machines are based on this chip :
+
+- ``microbit`` BBC micro:bit board with nRF51822 SoC
+
+There are other series such as nRF52, nRF53 and nRF91 which are currently not
+supported by QEMU.
+
+Supported devices
+-----------------
+
+ * ARM Cortex-M0 (ARMv6-M)
+ * Serial ports (UART)
+ * Clock controller
+ * Timers
+ * Random Number Generator (RNG)
+ * GPIO controller
+ * NVMC
+ * SWI
+
+Missing devices
+---------------
+
+ * Watchdog
+ * Real-Time Clock (RTC) controller
+ * TWI (i2c)
+ * SPI controller
+ * Analog to Digital Converter (ADC)
+ * Quadrature decoder
+ * Radio
+
+Boot options
+------------
+
+The Micro:bit machine can be started using the ``-device`` option to load a
+firmware in hexadecimal format. Example:
+
+.. code-block:: bash
+
+ $ qemu-system-arm -M microbit -device loader,file=test.hex
diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst
index edd013c7bb..5277ac0242 100644
--- a/docs/system/target-arm.rst
+++ b/docs/system/target-arm.rst
@@ -87,6 +87,7 @@ undocumented; you can get a complete list by running
arm/digic
arm/musicpal
arm/gumstix
+ arm/nrf
arm/nseries
arm/nuvoton
arm/orangepi
--
2.25.1
+Julia / Su / Steffen On 6/19/21 11:57 AM, Alexandre Iooss wrote: > This adds the target guide for BBC Micro:bit. > > Information is taken from https://wiki.qemu.org/Features/MicroBit > and from hw/arm/nrf51_soc.c. Great idea :) > > Signed-off-by: Alexandre Iooss <erdnaxe@crans.org> > --- > MAINTAINERS | 1 + > docs/system/arm/nrf.rst | 49 ++++++++++++++++++++++++++++++++++++++ > docs/system/target-arm.rst | 1 + > 3 files changed, 51 insertions(+) > create mode 100644 docs/system/arm/nrf.rst > > diff --git a/MAINTAINERS b/MAINTAINERS > index 636bf2f536..7c54611cc2 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1031,6 +1031,7 @@ F: hw/*/microbit*.c > F: include/hw/*/nrf51*.h > F: include/hw/*/microbit*.h > F: tests/qtest/microbit-test.c > +F: docs/system/arm/nrf.rst > > AVR Machines > ------------- > diff --git a/docs/system/arm/nrf.rst b/docs/system/arm/nrf.rst > new file mode 100644 > index 0000000000..e30aba8b06 > --- /dev/null > +++ b/docs/system/arm/nrf.rst > @@ -0,0 +1,49 @@ > +Nordic nRF boards (``microbit``) > +================================ > + > +The `Nordic nRF`_ chips are a family of ARM-based System-on-Chip that > +are designed to be used for low-power and short-range wireless solutions. > + > +.. _Nordic nRF: https://www.nordicsemi.com/Products > + > +The nRF51 series is the first series for short range wireless applications. > +It is superseded by the nRF51 series. > +The following machines are based on this chip : > + > +- ``microbit`` BBC micro:bit board with nRF51822 SoC > + > +There are other series such as nRF52, nRF53 and nRF91 which are currently not > +supported by QEMU. > + > +Supported devices > +----------------- > + > + * ARM Cortex-M0 (ARMv6-M) > + * Serial ports (UART) > + * Clock controller > + * Timers > + * Random Number Generator (RNG) > + * GPIO controller > + * NVMC > + * SWI > + > +Missing devices > +--------------- > + > + * Watchdog > + * Real-Time Clock (RTC) controller > + * TWI (i2c) > + * SPI controller > + * Analog to Digital Converter (ADC) > + * Quadrature decoder > + * Radio > + > +Boot options > +------------ > + > +The Micro:bit machine can be started using the ``-device`` option to load a > +firmware in hexadecimal format. Example: I'd use "ihex format" instead of "hexadecimal format", see https://en.wikipedia.org/wiki/Intel_HEX and also commit e4a25ed91947af1ec87f23725de4ac86a3353b48: loader: Implement .hex file loader This patch adds Intel Hexadecimal Object File format support to the generic loader device. The file format specification is available here: http://www.piclist.com/techref/fileext/hex/intel.htm This file format is often used with microcontrollers such as the micro:bit, Arduino, STM32, etc. Users expect to be able to run .hex files directly with without first converting them to ELF. Most micro:bit code is developed in web-based IDEs without direct user access to binutils so it is important for QEMU to handle this file format natively. Otherwise: Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > + > +.. code-block:: bash > + > + $ qemu-system-arm -M microbit -device loader,file=test.hex > diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst > index edd013c7bb..5277ac0242 100644 > --- a/docs/system/target-arm.rst > +++ b/docs/system/target-arm.rst > @@ -87,6 +87,7 @@ undocumented; you can get a complete list by running > arm/digic > arm/musicpal > arm/gumstix > + arm/nrf > arm/nseries > arm/nuvoton > arm/orangepi >
On 6/19/21 12:27 PM, Philippe Mathieu-Daudé wrote: > +Julia / Su / Steffen > > On 6/19/21 11:57 AM, Alexandre Iooss wrote: >> This adds the target guide for BBC Micro:bit. >> >> Information is taken from https://wiki.qemu.org/Features/MicroBit >> and from hw/arm/nrf51_soc.c. > > Great idea :) > >> >> Signed-off-by: Alexandre Iooss <erdnaxe@crans.org> >> --- >> MAINTAINERS | 1 + >> docs/system/arm/nrf.rst | 49 ++++++++++++++++++++++++++++++++++++++ >> docs/system/target-arm.rst | 1 + >> 3 files changed, 51 insertions(+) >> create mode 100644 docs/system/arm/nrf.rst >> >> diff --git a/MAINTAINERS b/MAINTAINERS >> index 636bf2f536..7c54611cc2 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -1031,6 +1031,7 @@ F: hw/*/microbit*.c >> F: include/hw/*/nrf51*.h >> F: include/hw/*/microbit*.h >> F: tests/qtest/microbit-test.c >> +F: docs/system/arm/nrf.rst >> >> AVR Machines >> ------------- >> diff --git a/docs/system/arm/nrf.rst b/docs/system/arm/nrf.rst >> new file mode 100644 >> index 0000000000..e30aba8b06 >> --- /dev/null >> +++ b/docs/system/arm/nrf.rst >> @@ -0,0 +1,49 @@ >> +Nordic nRF boards (``microbit``) >> +================================ >> + >> +The `Nordic nRF`_ chips are a family of ARM-based System-on-Chip that >> +are designed to be used for low-power and short-range wireless solutions. >> + >> +.. _Nordic nRF: https://www.nordicsemi.com/Products >> + >> +The nRF51 series is the first series for short range wireless applications. >> +It is superseded by the nRF51 series. Just noticed a typo here, it's "superseded by the nRF52 series". I will fix this in next version of this patch. >> +The following machines are based on this chip : >> + >> +- ``microbit`` BBC micro:bit board with nRF51822 SoC >> + >> +There are other series such as nRF52, nRF53 and nRF91 which are currently not >> +supported by QEMU. >> + >> +Supported devices >> +----------------- >> + >> + * ARM Cortex-M0 (ARMv6-M) >> + * Serial ports (UART) >> + * Clock controller >> + * Timers >> + * Random Number Generator (RNG) >> + * GPIO controller >> + * NVMC >> + * SWI >> + >> +Missing devices >> +--------------- >> + >> + * Watchdog >> + * Real-Time Clock (RTC) controller >> + * TWI (i2c) >> + * SPI controller >> + * Analog to Digital Converter (ADC) >> + * Quadrature decoder >> + * Radio >> + >> +Boot options >> +------------ >> + >> +The Micro:bit machine can be started using the ``-device`` option to load a >> +firmware in hexadecimal format. Example: > > I'd use "ihex format" instead of "hexadecimal format", see > > https://en.wikipedia.org/wiki/Intel_HEX > > and also commit e4a25ed91947af1ec87f23725de4ac86a3353b48: > > loader: Implement .hex file loader > > This patch adds Intel Hexadecimal Object File format support to the > generic loader device. The file format specification is available > here: http://www.piclist.com/techref/fileext/hex/intel.htm > > This file format is often used with microcontrollers such as the > micro:bit, Arduino, STM32, etc. Users expect to be able to run .hex > files directly with without first converting them to ELF. Most > micro:bit code is developed in web-based IDEs without direct user > access to binutils so it is important for QEMU to handle this file > format natively. > > Otherwise: > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > I was not aware of the name of the format. I will apply the change and add a link to the Wikipedia page of Intel HEX. >> + >> +.. code-block:: bash >> + >> + $ qemu-system-arm -M microbit -device loader,file=test.hex >> diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst >> index edd013c7bb..5277ac0242 100644 >> --- a/docs/system/target-arm.rst >> +++ b/docs/system/target-arm.rst >> @@ -87,6 +87,7 @@ undocumented; you can get a complete list by running >> arm/digic >> arm/musicpal >> arm/gumstix >> + arm/nrf >> arm/nseries >> arm/nuvoton >> arm/orangepi >> > Thanks, -- Alexandre
© 2016 - 2024 Red Hat, Inc.