All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] docs/system: arm: Add nRF boards description
@ 2021-06-19  9:57 Alexandre Iooss
  2021-06-19 10:27 ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 3+ messages in thread
From: Alexandre Iooss @ 2021-06-19  9:57 UTC (permalink / raw)
  To: open list:All patches CC here
  Cc: Peter Maydell, open list:NRF51, Joel Stanley, Alexandre Iooss

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



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] docs/system: arm: Add nRF boards description
  2021-06-19  9:57 [PATCH] docs/system: arm: Add nRF boards description Alexandre Iooss
@ 2021-06-19 10:27 ` Philippe Mathieu-Daudé
  2021-06-19 11:50   ` Alexandre IOOSS
  0 siblings, 1 reply; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-06-19 10:27 UTC (permalink / raw)
  To: Alexandre Iooss, open list:All patches CC here
  Cc: Peter Maydell, Su Hang, Steffen Görtz, open list:NRF51,
	Joel Stanley, Julia Suvorova

+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
> 



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] docs/system: arm: Add nRF boards description
  2021-06-19 10:27 ` Philippe Mathieu-Daudé
@ 2021-06-19 11:50   ` Alexandre IOOSS
  0 siblings, 0 replies; 3+ messages in thread
From: Alexandre IOOSS @ 2021-06-19 11:50 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, open list:All patches CC here
  Cc: Peter Maydell, Su Hang, Steffen Görtz, open list:NRF51,
	Joel Stanley, Julia Suvorova


[-- Attachment #1.1: Type: text/plain, Size: 4214 bytes --]

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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-19 11:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-19  9:57 [PATCH] docs/system: arm: Add nRF boards description Alexandre Iooss
2021-06-19 10:27 ` Philippe Mathieu-Daudé
2021-06-19 11:50   ` Alexandre IOOSS

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.