Message ID | 20210619095750.3216150-1-erdnaxe@crans.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | docs/system: arm: Add nRF boards description | expand |
+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
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
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