+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 <[email protected]> > --- > 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é <[email protected]> > + > +.. 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 >
