fix some spelling errors in code comments and Kconfig helps Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
150 lines
3.4 KiB
ReStructuredText
150 lines
3.4 KiB
ReStructuredText
.. zephyr:board:: promicro_nrf52840
|
|
|
|
More of a board type than a unique board, It is based on Nice!Nano.
|
|
Also referred to as Pro Micro, Promicro, SuperMini nRF52840 boards.
|
|
|
|
Overview
|
|
********
|
|
|
|
The hardware provides support for the Nordic
|
|
Semiconductor nRF52840 ARM Cortex-M4F CPU and the following devices:
|
|
|
|
* :abbr:`ADC (Analog to Digital Converter)`
|
|
* CLOCK
|
|
* FLASH
|
|
* :abbr:`GPIO (General Purpose Input Output)`
|
|
* :abbr:`I2C (Inter-Integrated Circuit)`
|
|
* :abbr:`MPU (Memory Protection Unit)`
|
|
* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
|
|
* :abbr:`PWM (Pulse Width Modulation)`
|
|
* RADIO (Bluetooth Low Energy and 802.15.4)
|
|
* :abbr:`RTC (nRF RTC System Clock)`
|
|
* :abbr:`SPI (Serial Peripheral Interface)`
|
|
* :abbr:`UART (Universal asynchronous receiver-transmitter)`
|
|
* :abbr:`USB (Universal Serial Bus)`
|
|
* :abbr:`WDT (Watchdog Timer)`
|
|
|
|
More information about the original board can be found at the
|
|
`Nice!Nano website`_.
|
|
|
|
Information about clones can be found at `Clone Wiki`_.
|
|
|
|
Pinout and Schematic are available in the `Nice!Nano Documentation`_
|
|
|
|
|
|
Supported Features
|
|
==================
|
|
|
|
.. zephyr:board-supported-hw::
|
|
|
|
Connections and IOs
|
|
===================
|
|
|
|
LED
|
|
---
|
|
|
|
* LED0 = P0.15, can be any color.
|
|
|
|
Programming and Debugging
|
|
*************************
|
|
|
|
.. zephyr:board-supported-runners::
|
|
|
|
Applications for the ``promicro_nrf52840/nrf52840`` board target can be
|
|
built in the usual way (see :ref:`build_an_application` for more details).
|
|
|
|
Flashing
|
|
========
|
|
|
|
The board is factory-programmed with Adafruit's UF2 bootloader
|
|
|
|
#. Reset the board into the bootloader by bridging ground and RST 2 times
|
|
quickly
|
|
|
|
The status LED should start a fade pattern, signalling the bootloader is
|
|
running.
|
|
|
|
#. Compile a Zephyr application; we'll use :zephyr:code-sample:`blinky`.
|
|
|
|
.. zephyr-app-commands::
|
|
:app: zephyr/samples/basic/blinky
|
|
:board: promicro_nrf52840/nrf52840/uf2
|
|
:goals: build
|
|
|
|
#. Flash it onto the board. You may need to mount the device.
|
|
|
|
.. code-block:: console
|
|
|
|
west flash
|
|
|
|
When this command exits, observe the red LED on the board blinking,
|
|
|
|
|
|
Debugging
|
|
=========
|
|
|
|
You may debug this board using the broken out pads on the back.
|
|
PyOCD and openOCD can be used to flash and debug this board.
|
|
|
|
Recovery
|
|
========
|
|
|
|
In case of a error resulting in a board's bootloader becoming inaccessible,
|
|
it is possible to flash anything directly using openOCD:
|
|
|
|
#. Setup OpenOCD correctly, here for WCH linkE in ARM mode:
|
|
|
|
.. code-block:: console
|
|
|
|
openocd -f interface/cmsis-dap.cfg -f target/nrf52.cfg
|
|
|
|
Note interface and target folders are from openOCD's tcl folder.
|
|
|
|
#. Connect to openOCD, for example with telnet or GDB:
|
|
|
|
.. code-block:: console
|
|
|
|
telnet localhost 4444
|
|
|
|
.. code-block:: console
|
|
|
|
target extended-remote localhost:3333
|
|
|
|
#. Erase flash:
|
|
|
|
.. code-block:: console
|
|
|
|
reset halt
|
|
nrf5 mass_erase
|
|
|
|
or
|
|
|
|
.. code-block:: console
|
|
|
|
mon reset halt
|
|
mon nrf5 mass_erase
|
|
|
|
#. Flash Bootloader
|
|
|
|
.. code-block:: console
|
|
|
|
flash write_image erase nice_nano_bootloader-0.9.2_s140_6.1.1.hex
|
|
|
|
or
|
|
|
|
.. code-block:: console
|
|
|
|
mon flash write_image erase nice_nano_bootloader-0.9.2_s140_6.1.1.hex
|
|
|
|
References
|
|
**********
|
|
|
|
.. target-notes::
|
|
|
|
.. _Nice!Nano website:
|
|
https://nicekeyboards.com/docs/nice-nano/
|
|
.. _Clone Wiki:
|
|
https://github.com/joric/nrfmicro/wiki/Alternatives
|
|
.. _Nice!Nano Documentation:
|
|
https://nicekeyboards.com/docs/nice-nano/pinout-schematic
|