mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2026-01-01 01:41:18 +01:00
Merge pull request #21271 from Ollrogge/improve_nrf5840dk_doc
boards/nrf52840{dk,dongle}: add MCU table, move to doc.md
This commit is contained in:
commit
4d28d7b180
55
boards/nrf52840dk/doc.md
Normal file
55
boards/nrf52840dk/doc.md
Normal file
@ -0,0 +1,55 @@
|
||||
@defgroup boards_nrf52840dk nRF52840 DK
|
||||
@ingroup boards
|
||||
@brief Support for the nRF52840 DK
|
||||
|
||||
### General information
|
||||
|
||||
The [nRF52840 DK](https://www.nordicsemi.com/Products/Development-hardware/nRF52840-DK)
|
||||
is a devboard based on the nRF52840 SoC which supports multiple wireless protocols
|
||||
including Bluetooth Low Energy, Thread and Zigbee.
|
||||
|
||||
## Hardware
|
||||
|
||||
| MCU | nRF52840 |
|
||||
|:--------------------- |:------------------------------------------------------------------------------------------------------------------|
|
||||
| Family | ARM Cortex-M4 |
|
||||
| Vendor | Nordic Semiconductor |
|
||||
| RAM | 256 KiB |
|
||||
| Flash | 1 MiB |
|
||||
| Frequency | 64 MHz |
|
||||
| FPU | yes |
|
||||
| Timers | 5 (32-bit) |
|
||||
| RTC | 3 |
|
||||
| ADCs | 1x 12-bit (8 channels) |
|
||||
| UARTs | 2 |
|
||||
| SPIs | 4 masters/3 slaves |
|
||||
| I2Cs | 2 |
|
||||
| I2S | 1 |
|
||||
| PWM | 4*4 Channels |
|
||||
| Radio | 2.4GHz BLE compatible, -20 dBm to +8 dBm output, -95 dBm RX sensitivity |
|
||||
| Vcc | 1.7V - 5.5V |
|
||||
| MCU Manual | [Manual](https://docs-be.nordicsemi.com/bundle/ps_nrf52840/attach/nRF52840_PS_v1.11.pdf) |
|
||||
| Board Documentation | [Documentation](https://docs.nordicsemi.com/bundle/ug_nrf52840_dk/page/UG/dk/intro.html) |
|
||||
|
||||
### RESET pin configuration
|
||||
|
||||
On many (all?) nrf52840dk boards, the reset pin is not configured out-of-the box.
|
||||
This means, that simply nothing happens if the RESET pin is pressed. To change
|
||||
this, RIOT provides a little tool in `dist/tools/nrf52_resetpin_cfg`.
|
||||
|
||||
Simply compile, flash, and run that tool on your board, and the reset pin should
|
||||
work for the time being.
|
||||
|
||||
## Flash the board
|
||||
|
||||
See the `Flashing` section in @ref boards_common_nrf52.
|
||||
|
||||
## Accessing STDIO via UART
|
||||
|
||||
The STDIO is directly accessible via the USB port. On a Linux host, it's
|
||||
generally mapped to `/dev/ttyACM0`.
|
||||
|
||||
Use the `term` target to connect to the board serial port<br/>
|
||||
```
|
||||
make BOARD=nrf52840dk -C examples/basic/hello-world term
|
||||
```
|
||||
@ -1,30 +0,0 @@
|
||||
/**
|
||||
@defgroup boards_nrf52840dk nRF52840 DK
|
||||
@ingroup boards
|
||||
@brief Support for the nRF52840 DK
|
||||
|
||||
|
||||
### RESET pin configuration
|
||||
|
||||
On many (all?) nrf52840dk boards, the reset pin is not configured out-of-the box.
|
||||
This means, that simply nothing happens if the RESET pin is pressed. To change
|
||||
this, RIOT provides a little tool in `dist/tools/nrf52_resetpin_cfg`.
|
||||
|
||||
Simply compile, flash, and run that tool on your board, and the reset pin should
|
||||
work for the time being.
|
||||
|
||||
## Flash the board
|
||||
|
||||
See the `Flashing` section in @ref boards_common_nrf52.
|
||||
|
||||
## Accessing STDIO via UART
|
||||
|
||||
The STDIO is directly accessible via the USB port. On a Linux host, it's
|
||||
generally mapped to `/dev/ttyACM0`.
|
||||
|
||||
Use the `term` target to connect to the board serial port<br/>
|
||||
```
|
||||
make BOARD=nrf52840dk -C examples/basic/hello-world term
|
||||
```
|
||||
|
||||
*/
|
||||
82
boards/nrf52840dongle/doc.md
Normal file
82
boards/nrf52840dongle/doc.md
Normal file
@ -0,0 +1,82 @@
|
||||
@defgroup boards_nrf52840dongle nRF52840-Dongle
|
||||
@ingroup boards
|
||||
@brief Support for the nRF52840-Dongle
|
||||
|
||||
### General information
|
||||
|
||||
The nRF52840-Dongle is a bare USB-stick shaped device that houses barely
|
||||
anything than the nRF52840 itself, which offers BLE and 802.15.4 and USB
|
||||
connectivity.
|
||||
|
||||
Unlike similar sticks (like the @ref boards_nrf52840-mdk), it features no
|
||||
dedicated programmer hardware but relies on direct USB communication with a
|
||||
built-in bootloader.
|
||||
|
||||
The board features two LEDs (LD1: green, LD2: RGB), a user (SW1) and a
|
||||
reset button as well as 15 configurable external pins.
|
||||
|
||||
### Hardware
|
||||
|
||||
| MCU | nRF52840 |
|
||||
|:--------------------- |:------------------------------------------------------------------------------------------------------------------|
|
||||
| Family | ARM Cortex-M4 |
|
||||
| Vendor | Nordic Semiconductor |
|
||||
| RAM | 256 KiB |
|
||||
| Flash | 1 MiB |
|
||||
| Frequency | 64 MHz |
|
||||
| FPU | yes |
|
||||
| Timers | 5 (32-bit) |
|
||||
| RTC | 3 |
|
||||
| ADCs | 1x 12-bit (8 channels) |
|
||||
| UARTs | 2 |
|
||||
| SPIs | 4 masters/3 slaves |
|
||||
| I2Cs | 2 |
|
||||
| I2S | 1 |
|
||||
| PWM | 4*4 Channels |
|
||||
| Radio | 2.4GHz BLE compatible, -20 dBm to +8 dBm output, -95 dBm RX sensitivity |
|
||||
| Vcc | 1.7V - 5.5V |
|
||||
| MCU Manual | [Manual](https://docs-be.nordicsemi.com/bundle/ps_nrf52840/attach/nRF52840_PS_v1.11.pdf) |
|
||||
| Dongle Documentation | [Documentation](https://docs.nordicsemi.com/bundle/ug_nrf52840_dongle/page/UG/nrf52840_Dongle/intro.html) |
|
||||
|
||||
### Quick start
|
||||
|
||||
- Plug into a USB port.
|
||||
- `$ make BOARD=nrf52840dongle -C examples/basic/saul flash term`
|
||||
- See [Flash the board](#nrf52840dongle_flash) if anything goes wrong.
|
||||
- `> saul write 2 10 40 10`
|
||||
- The LED glows in a soft turquise.
|
||||
|
||||
### Flash the board {#nrf52840dongle_flash}
|
||||
|
||||
The board is flashed using its on-board boot loader; the proprietary
|
||||
[nrfutil](https://www.nordicsemi.com/Products/Development-tools/nRF-Util) program needs to
|
||||
be installed, and `nrfutil install nrf5sdk-tools` needs to be executed. Note
|
||||
that nrfutil, even when not running the "install" command, will install itself
|
||||
into `~/.nrfutil`. The older Python based version of nrfutil is no longer
|
||||
maintained by Nordic, and has become dysfunctional on Python 3.11.
|
||||
|
||||
The nrfutil can turn the binary into a suitable zip file and send it to the
|
||||
bootloader. The process is automated in the usual `make flash` target.
|
||||
|
||||
If RIOT is already running on the board, it will automatically reset the CPU and enter
|
||||
the bootloader.
|
||||
If some other firmware is running or RIOT crashed, you need to enter the bootloader
|
||||
manually by pressing the board's reset button.
|
||||
|
||||
Readiness of the bootloader is indicated by LD2 pulsing in red.
|
||||
|
||||
### Accessing STDIO
|
||||
|
||||
The usual way to obtain a console on this board is using an emulated USB serial port (CDC-ACM).
|
||||
This is available automatically using the `stdio_cdc_acm` module,
|
||||
unless any other stdio module is enabled.
|
||||
|
||||
On Linux systems with ModemManager < 1.10 installed,
|
||||
`make term` will, in some setups, fail for a few seconds after the device has come up.
|
||||
This is [fixed in its 1.12.4 version](https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/164),
|
||||
but should not be more than a short annoyance in earlier versions.
|
||||
|
||||
To ease debugging,
|
||||
pins 0.13 and 0.15 are configured as RX and TX, respectively.
|
||||
They provide stdio if no CDC-ACM is disabled,
|
||||
and can be used as a custom UART otherwise.
|
||||
@ -1,67 +0,0 @@
|
||||
/**
|
||||
@defgroup boards_nrf52840dongle nRF52840-Dongle
|
||||
@ingroup boards
|
||||
@brief Support for the nRF52840-Dongle
|
||||
|
||||
### Quick start
|
||||
|
||||
- Plug into a USB port.
|
||||
- `$ make BOARD=nrf52840dongle -C examples/basic/saul flash term`
|
||||
- See [Flash the board](#nrf52840dongle_flash) if anything goes wrong.
|
||||
- `> saul write 2 10 40 10`
|
||||
- The LED glows in a soft turquise.
|
||||
|
||||
### General information
|
||||
|
||||
The nRF52840-Dongle is a bare USB-stick shaped device that houses barely
|
||||
anything than the nRF52840 itself, which offers BLE and 802.15.4 and USB
|
||||
connectivity.
|
||||
|
||||
Unlike similar sticks (like the @ref boards_nrf52840-mdk), it features no
|
||||
dedicated programmer hardware but relies on direct USB communication with a
|
||||
built-in bootloader.
|
||||
|
||||
The board features two LEDs (LD1: green, LD2: RGB), a user (SW1) and a
|
||||
reset button as well as 15 configurable external pins.
|
||||
|
||||
### Links
|
||||
|
||||
- [nRF52840 web page](https://www.nordicsemi.com/?sc_itemid=%7BCDCCA013-FE4C-4655-B20C-1557AB6568C9%7D)
|
||||
- [documentation and hardware description](https://infocenter.nordicsemi.com/topic/ug_nrf52840_dongle/UG/nrf52840_Dongle/intro.html?cp=3_0_5)
|
||||
|
||||
### Flash the board {#nrf52840dongle_flash}
|
||||
|
||||
The board is flashed using its on-board boot loader; the proprietary
|
||||
[nrfutil](https://www.nordicsemi.com/Products/Development-tools/nRF-Util) program needs to
|
||||
be installed, and `nrfutil install nrf5sdk-tools` needs to be executed. Note
|
||||
that nrfutil, even when not running the "install" command, will install itself
|
||||
into `~/.nrfutil`. The older Python based version of nrfutil is no longer
|
||||
maintained by Nordic, and has become dysfunctional on Python 3.11.
|
||||
|
||||
The nrfutil can turn the binary into a suitable zip file and send it to the
|
||||
bootloader. The process is automated in the usual `make flash` target.
|
||||
|
||||
If RIOT is already running on the board, it will automatically reset the CPU and enter
|
||||
the bootloader.
|
||||
If some other firmware is running or RIOT crashed, you need to enter the bootloader
|
||||
manually by pressing the board's reset button.
|
||||
|
||||
Readiness of the bootloader is indicated by LD2 pulsing in red.
|
||||
|
||||
### Accessing STDIO
|
||||
|
||||
The usual way to obtain a console on this board is using an emulated USB serial port (CDC-ACM).
|
||||
This is available automatically using the `stdio_cdc_acm` module,
|
||||
unless any other stdio module is enabled.
|
||||
|
||||
On Linux systems with ModemManager < 1.10 installed,
|
||||
`make term` will, in some setups, fail for a few seconds after the device has come up.
|
||||
This is [fixed in its 1.12.4 version](https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/164),
|
||||
but should not be more than a short annoyance in earlier versions.
|
||||
|
||||
To ease debugging,
|
||||
pins 0.13 and 0.15 are configured as RX and TX, respectively.
|
||||
They provide stdio if no CDC-ACM is disabled,
|
||||
and can be used as a custom UART otherwise.
|
||||
|
||||
*/
|
||||
Loading…
x
Reference in New Issue
Block a user