Documentation: move boards/nrf53 readmes to Documentation
This commit is contained in:
parent
045b9ffd54
commit
da4c7703db
@ -0,0 +1,101 @@
|
||||
=======================
|
||||
Nordic nRF5340-Audio-DK
|
||||
=======================
|
||||
|
||||
The `nRF5340-Audio-DK <https://www.nordicsemi.com/Products/Development-hardware/nRF5340-Audio-DK>`_
|
||||
is a development kit dedicated for Bluetooth LE Audio application based on the nRF5340 from Nordic.
|
||||
|
||||
Peripheral Support
|
||||
==================
|
||||
|
||||
======================== ======= =====
|
||||
Peripheral Support NOTES
|
||||
======================== ======= =====
|
||||
UART Yes
|
||||
QSPI No
|
||||
Buttons No
|
||||
LEDs No
|
||||
USB No
|
||||
SD Card No
|
||||
NFC No
|
||||
PDM Microphone (VM3011) No
|
||||
Audio DSP (CS47L63) No
|
||||
======================== ======= =====
|
||||
|
||||
Serial Console
|
||||
==============
|
||||
|
||||
Serial console for the application core:
|
||||
|
||||
===== ============ =============
|
||||
Pin Signal Notes
|
||||
===== ============ =============
|
||||
P1.05 APP UART0 TX virtual COM 0
|
||||
P1.04 APP UART0 RX virtual COM 0
|
||||
===== ============ =============
|
||||
|
||||
Serial console for the network core:
|
||||
|
||||
===== ============ =============
|
||||
Pin Signal Notes
|
||||
===== ============ =============
|
||||
P1.09 NET UART0 TX virtual COM 1
|
||||
P1.08 NET UART0 RX virtual COM 1
|
||||
===== ============ =============
|
||||
|
||||
LEDs and Buttons
|
||||
================
|
||||
|
||||
LEDs
|
||||
----
|
||||
The nRF5340-Audio-DK has 4 user-controllable LEDs:
|
||||
|
||||
==== =======
|
||||
LED MCU
|
||||
==== =======
|
||||
LED1 P0.31
|
||||
LED2 P1.01
|
||||
LED3 P1.02
|
||||
==== =======
|
||||
|
||||
A low output illuminates the LED.
|
||||
|
||||
CONFIG_ARCH_LEDS
|
||||
----------------
|
||||
|
||||
If CONFIG_ARCH_LEDS is not defined, then the LEDs are completely under
|
||||
control of the application. The following interfaces are then available
|
||||
for application control of the LEDs::
|
||||
|
||||
uint32_t board_userled_initialize(void);
|
||||
void board_userled(int led, bool ledon);
|
||||
void board_userled_all(uint32_t ledset);
|
||||
|
||||
Pushbuttons
|
||||
-----------
|
||||
|
||||
======= =======
|
||||
BUTTON MCU
|
||||
======= =======
|
||||
BUTTON1 P0.02
|
||||
BUTTON2 P0.03
|
||||
BUTTON3 P0.04
|
||||
BUTTON4 P0.05
|
||||
BUTTON5 P0.06
|
||||
======= =======
|
||||
|
||||
Configurations
|
||||
==============
|
||||
|
||||
Each configuration is maintained in a sub-directory and can be selected as
|
||||
follow::
|
||||
|
||||
tools/configure.sh nrf5340-audio-dk:<subdir>
|
||||
|
||||
Where <subdir> is one of the following:
|
||||
|
||||
nsh_cpuapp
|
||||
----------
|
||||
|
||||
Basic NuttShell configuration for the application core (console enabled in UART0,
|
||||
exposed via J-Link VCOM0, at 115200 bps).
|
164
Documentation/platforms/arm/nrf53/boards/nrf5340-dk/index.rst
Normal file
164
Documentation/platforms/arm/nrf53/boards/nrf5340-dk/index.rst
Normal file
@ -0,0 +1,164 @@
|
||||
=================
|
||||
Nordic nRF5340 DK
|
||||
=================
|
||||
|
||||
The `nRF5340-DK (PCA10092) <https://www.nordicsemi.com/Products/Development-hardware/nrf5340-dk>`_
|
||||
is a development board based on the nRF5340 from Nordic.
|
||||
|
||||
Serial Console
|
||||
==============
|
||||
|
||||
Serial console for the application core:
|
||||
|
||||
===== ============ =============
|
||||
Pin Signal Notes
|
||||
===== ============ =============
|
||||
P1.01 APP UART0 TX virtual COM 0
|
||||
P1.00 APP UART0 RX virtual COM 0
|
||||
===== ============ =============
|
||||
|
||||
Serial console for the network core:
|
||||
|
||||
===== ============ =============
|
||||
Pin Signal Notes
|
||||
===== ============ =============
|
||||
P0.20 NET UART0 TX virtual COM 1
|
||||
P0.22 NET UART0 RX virtual COM 1
|
||||
===== ============ =============
|
||||
|
||||
LEDs and Buttons
|
||||
================
|
||||
|
||||
LEDs
|
||||
----
|
||||
The PCA10092 has 4 user-controllable LEDs:
|
||||
|
||||
==== =======
|
||||
LED MCU
|
||||
==== =======
|
||||
LED1 P0.28
|
||||
LED2 P0.29
|
||||
LED3 P0.30
|
||||
LED4 P0.31
|
||||
==== =======
|
||||
|
||||
A low output illuminates the LED.
|
||||
|
||||
CONFIG_ARCH_LEDS
|
||||
----------------
|
||||
|
||||
If CONFIG_ARCH_LEDS is not defined, then the LEDs are completely under
|
||||
control of the application. The following interfaces are then available
|
||||
for application control of the LEDs::
|
||||
|
||||
uint32_t board_userled_initialize(void);
|
||||
void board_userled(int led, bool ledon);
|
||||
void board_userled_all(uint32_t ledset);
|
||||
|
||||
Pushbuttons
|
||||
-----------
|
||||
|
||||
======= =======
|
||||
BUTTON MCU
|
||||
======= =======
|
||||
BUTTON1 P0.23
|
||||
BUTTON2 P0.24
|
||||
BUTTON3 P0.08
|
||||
BUTTON4 P0.09
|
||||
======= =======
|
||||
|
||||
Configurations
|
||||
==============
|
||||
|
||||
Each configuration is maintained in a sub-directory and can be selected as
|
||||
follow::
|
||||
|
||||
tools/configure.sh nrf5340-dk:<subdir>
|
||||
|
||||
Where <subdir> is one of the following:
|
||||
|
||||
adc_cpuapp
|
||||
----------
|
||||
|
||||
This configuration shows the use of the ADC peripheral.
|
||||
|
||||
composite_cpuapp
|
||||
----------------
|
||||
|
||||
NuttShell configuration for the application core with support for CDC/ACM with
|
||||
RNDIS composite driver.
|
||||
|
||||
nsh_cpuapp
|
||||
----------
|
||||
|
||||
Basic NuttShell configuration for the application core (console enabled in UART0,
|
||||
exposed via J-Link VCOM0, at 115200 bps).
|
||||
|
||||
nsh_cpunet
|
||||
----------
|
||||
|
||||
Basic NuttShell configuration for the network core (console enabled in UART0,
|
||||
exposed via J-Link VCOM1, at 115200 bps).
|
||||
|
||||
ostest_tickless_cpuapp
|
||||
----------------------
|
||||
|
||||
This is a NSH configuration that includes ``apps/testing/ostest`` as a builtin
|
||||
and enable support for the tick-less OS.
|
||||
|
||||
pwm_cpuapp
|
||||
----------
|
||||
|
||||
This configuration shows the use of the PWM peripheral.
|
||||
|
||||
qspi_cpuapp
|
||||
-----------
|
||||
|
||||
NuttShell configuration with enabled support for on-board MX25R QSPI memory.
|
||||
|
||||
rpmsghci_bt_cpuapp
|
||||
------------------
|
||||
|
||||
This configuration enables RPMSG Bluetooth HCI client on the application core
|
||||
and uses NuttX BLE stack for the host-layer
|
||||
|
||||
rpmsghci_nimble_cpuapp
|
||||
----------------------
|
||||
|
||||
This configuration enables RPMSG Bluetooth HCI client on the application core
|
||||
and uses nimBLE for the host-layer
|
||||
|
||||
rpmsghci_sdc_cpunet
|
||||
-------------------
|
||||
|
||||
This configuration enables RPMSG Bluetooth HCI server on the network core which
|
||||
can be accessed using RPMSG Bluetooth HCI client on the application core.
|
||||
|
||||
rptun_cpuapp
|
||||
------------
|
||||
|
||||
This configuration enables basic RPTUN support on the application core.
|
||||
The ``rptun`` command will be available from NSH.
|
||||
|
||||
rptun_cpunet
|
||||
------------
|
||||
|
||||
This configuration enables basic RPTUN support on the network core.
|
||||
The ``rptun`` command will be available from NSH.
|
||||
|
||||
sdc_cpunet
|
||||
----------
|
||||
|
||||
Enables Nordic's SoftDevice controller on the network core and uses NuttX BLE stack for the host-layer.
|
||||
The ``btsak`` application is included as a builtin.
|
||||
|
||||
sdc_nimble_cpunet
|
||||
-----------------
|
||||
|
||||
Enables Nordic's SoftDevice controller on the network core and uses nimBLE for the host-layer.
|
||||
The ``nimble`` test application can be used to enable a simple GATT server.
|
||||
|
||||
timer_cpuapp
|
||||
------------
|
||||
|
||||
This configuration shows the use of the TIMER peripheral.
|
82
Documentation/platforms/arm/nrf53/boards/thingy53/index.rst
Normal file
82
Documentation/platforms/arm/nrf53/boards/thingy53/index.rst
Normal file
@ -0,0 +1,82 @@
|
||||
================
|
||||
Nordic Thingy:53
|
||||
================
|
||||
|
||||
The `Thingy:53 (PCA20053) <https://www.nordicsemi.com/Products/Development-hardware/Nordic-Thingy-53>`_
|
||||
is a prototyping platform build around the nRF5340 from Nordic.
|
||||
|
||||
Peripheral Support
|
||||
==================
|
||||
|
||||
================================== ======= =============
|
||||
Peripheral Support NOTES
|
||||
================================== ======= =============
|
||||
UART Yes
|
||||
USB Yes
|
||||
Buttons Yes
|
||||
LEDs No
|
||||
NFC No
|
||||
MX25R6435F No Dual line SPI
|
||||
PMIC No
|
||||
Battery monitoring No
|
||||
Buzzer No
|
||||
PDM microphone (VM3011) No
|
||||
Front End Module (nRF21540) No
|
||||
Low power accelerometer (ADXL362) No
|
||||
IMU (BMI270) No
|
||||
Magnetometer (BMM150) No
|
||||
Air quality sensor (HBME688) No
|
||||
Color sensor (VM3011) No
|
||||
================================== ======= =============
|
||||
|
||||
Serial Console
|
||||
==============
|
||||
|
||||
Serial console for the application core:
|
||||
|
||||
===== ============ =============
|
||||
Pin Signal Notes
|
||||
===== ============ =============
|
||||
P0.11 APP UART0 TX virtual COM 0
|
||||
P0.12 APP UART0 RX virtual COM 0
|
||||
===== ============ =============
|
||||
|
||||
Serial console for the network core:
|
||||
|
||||
===== ============ =============
|
||||
Pin Signal Notes
|
||||
===== ============ =============
|
||||
P0.09 NET UART0 TX virtual COM 1
|
||||
P0.10 NET UART0 RX virtual COM 1
|
||||
===== ============ =============
|
||||
|
||||
Configurations
|
||||
==============
|
||||
|
||||
Each configuration is maintained in a sub-directory and can be selected as
|
||||
follow::
|
||||
|
||||
tools/configure.sh thingy53:<subdir>
|
||||
|
||||
Where <subdir> is one of the following:
|
||||
|
||||
composite_cpuapp
|
||||
----------------
|
||||
NuttShell configuration with support for CDC/ACM with RNDIS composite driver.
|
||||
|
||||
nsh_cpuapp
|
||||
----------
|
||||
|
||||
Basic NuttShell configuration for the application core (console enabled in UART0,
|
||||
exposed via J-Link VCOM0, at 115200 bps).
|
||||
|
||||
nsh_cpunet
|
||||
----------
|
||||
|
||||
Basic NuttShell configuration for the network core (console enabled in UART0,
|
||||
exposed via J-Link VCOM1, at 115200 bps).
|
||||
|
||||
Flash & Debug
|
||||
=============
|
||||
|
||||
Both flashing and debuing is possible only with an external debug proble.
|
186
Documentation/platforms/arm/nrf53/index.rst
Normal file
186
Documentation/platforms/arm/nrf53/index.rst
Normal file
@ -0,0 +1,186 @@
|
||||
============
|
||||
Nordic nRF53
|
||||
============
|
||||
|
||||
The nRF53 series of chips from Nordic Semiconductor are based around an two ARM Cortex-M33 cores
|
||||
and a multiprotocol 2.4 GHz transceiver.
|
||||
|
||||
Peripheral Support
|
||||
==================
|
||||
|
||||
The following list indicates peripherals supported in NuttX:
|
||||
|
||||
========== ======= ===============
|
||||
Peripheral Support Notes
|
||||
========== ======= ===============
|
||||
GPIO Yes
|
||||
GPIOTE Yes
|
||||
I2S No
|
||||
MWU No
|
||||
NFCT No
|
||||
PDM No
|
||||
DPPI No
|
||||
PWM Yes
|
||||
QDEC No
|
||||
QSPI Yes
|
||||
RADIO No
|
||||
RNG No
|
||||
RTC Yes
|
||||
SAADC Yes
|
||||
SPIM Yes
|
||||
SPIS No
|
||||
TEMP No
|
||||
TIMER Yes
|
||||
TWIM Yes
|
||||
TWIS No
|
||||
UART Yes
|
||||
UARTE No
|
||||
USBD Yes
|
||||
WDT No
|
||||
IPC Yes RPTUN supported
|
||||
========== ======= ===============
|
||||
|
||||
GPIO/GPIOTE
|
||||
-----------
|
||||
|
||||
Pins can be configured/operated using ``nrf53_gpio_*`` functions. Interrupts are
|
||||
handled via the GPIOTE peripheral in one of two ways: via a GPIOTE channel or via
|
||||
PORT events. The former allows for simultaneous rising/falling edge-sensitive interrupts
|
||||
per-pin. However, as there are a limited number of channels (and sometimes these
|
||||
are used by some drivers for specific tasks), it may not always be possible to use
|
||||
this mechanism. The latter approach for pin interrupts is via the PORT event, determined
|
||||
by pin state on a their corresponding GPIO port. This is related to the SENSE capability
|
||||
of pins, which can only be set to either rising or falling edge sensing.
|
||||
|
||||
Depending on ``CONFIG_NRF53_PER_PIN_INTERRUPTS`` option, you can set a callback for
|
||||
the PORT event itself or you can set a callback for a given pin. In the latter case
|
||||
the driver scans for pins with DETECT bit high and calls the configured callback
|
||||
automatically.
|
||||
|
||||
Finally, GPIOTE can also be used to configure a channel in *task mode*, which allows to
|
||||
control pin state via tasks/events.
|
||||
|
||||
ADC
|
||||
---
|
||||
|
||||
The SAADC peripheral is exposed via standard ADC driver. The lower-half of this driver
|
||||
is initialized by calling :c:func:`nrf53_adcinitialize`.
|
||||
|
||||
I2C
|
||||
---
|
||||
|
||||
I2C is supported both in polling and interrupt mode (via EasyDMA).
|
||||
|
||||
.. note:: The I2C peripheral does not support sending two transfers without sending
|
||||
a START nor RSTART. For this reason, this is supported via an internal buffer where
|
||||
messages will be first copied to and sent together.
|
||||
|
||||
The lower-half of I2C bus is initialized by :c:func:`nrf53_i2cbus_initialize`.
|
||||
|
||||
SPI
|
||||
---
|
||||
|
||||
SPI is supported both in polling and interrupt-based (via EasyDMA) mode. The latter
|
||||
supports arbitrarily long transfers using Nordic's list-mode EasyDMA (intermediate
|
||||
transfers are currently still manually started).
|
||||
|
||||
It is possible to use SPI without either MOSI/MISO pin defined by simply not providing
|
||||
the relevant ``BOARD_SPI*_MISO/MOSI_PIN`` definition.
|
||||
|
||||
This implementation support power management hooks, which will disable SPI peripheral when
|
||||
entering either SLEEP or STANDBY modes and reconfigure it when going back to NORMAL mode.
|
||||
|
||||
UART
|
||||
----
|
||||
|
||||
UART is implemented using polling. UARTE EasyDMA feature is not yet supported.
|
||||
This may introduce a large number of interrupts which may be undesirable.
|
||||
|
||||
PWM
|
||||
---
|
||||
|
||||
PWM is supported via standard driver. This means that more advanced features such as
|
||||
complex sequences or waveform modes are not yet supported.
|
||||
|
||||
QSPI
|
||||
----
|
||||
|
||||
QSPI is supported both in interrupt-based (via EasyDMA) mode and is exposed
|
||||
via standard QSPI interface.
|
||||
|
||||
TIMER
|
||||
-----
|
||||
|
||||
The TIMER peripheral is exposed as standard timer.
|
||||
|
||||
RTC
|
||||
---
|
||||
|
||||
The RTC peripheral is exposed as a standard timer, since it is really a low-power
|
||||
timer, without any date handling capabilities.
|
||||
|
||||
USBD
|
||||
----
|
||||
|
||||
The USBD peripheral is exposed via standard USBDEV interface.
|
||||
|
||||
Interprocessor Communication
|
||||
============================
|
||||
|
||||
Interprocessor communication between the application core and the network core is realized with
|
||||
the NuttX RPTUN device based on the OpenAMP framework.
|
||||
|
||||
The last 32kB of the application core RAM is used for a shared memory (address = 0x20078000).
|
||||
|
||||
BLE Support
|
||||
===========
|
||||
|
||||
BLE is supported in the nRF53 using Nordic's `SoftDevice Controller <https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/softdevice_controller/README.html>`_.
|
||||
|
||||
Tool Issues
|
||||
===========
|
||||
|
||||
OpenOCD
|
||||
-------------
|
||||
There is no official support for Nordic Cortex M33 chips (nRF9160 or nRF5340).
|
||||
|
||||
Segger J-Link
|
||||
-------------
|
||||
To start the GDB servers for the application core and the network core, use these commands::
|
||||
|
||||
JLinkGDBServer -device nRF5340_xxAA_APP -autoconnect 1 -if SWD -speed 4000 -port 2331 -swoport 2332 -telnetport 2333
|
||||
JLinkGDBServer -device nRF5340_xxAA_NET -autoconnect 1 -if SWD -speed 4000 -port 2334 -swoport 2335 -telnetport 2336
|
||||
|
||||
Then you can connect GDB to targets::
|
||||
|
||||
(gdb_app) target remote localhost:2331
|
||||
(gdb_net) target remote localhost:2334
|
||||
|
||||
Flashing locked device
|
||||
----------------------
|
||||
|
||||
1. Unlock the network core::
|
||||
|
||||
nrfjprog --recover --coprocessor CP_NETWORK
|
||||
|
||||
2. Unlock the application core::
|
||||
|
||||
nrfjprog --recover
|
||||
|
||||
3. Flash the network core::
|
||||
|
||||
nrfjprog --coprocessor CP_NETWORK --program nuttx_net.hex --verify --chiperase
|
||||
|
||||
4. Flash the application core::
|
||||
|
||||
nrfjprog --program nuttx_app.hex --verify --chiperase
|
||||
|
||||
|
||||
Supported Boards
|
||||
================
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 1
|
||||
|
||||
boards/*/*
|
@ -1,23 +0,0 @@
|
||||
nRF5340-AUDIO-DK
|
||||
================
|
||||
|
||||
README for NuttX port to NRF5340 Audio DK (PCA10121) boards.
|
||||
|
||||
Tool Issues
|
||||
===========
|
||||
|
||||
OpenOCD
|
||||
-------------
|
||||
There is no support official support for Nordic Cortex M33 chips (nRF9160 or nRF5340).
|
||||
|
||||
Segger J-Link
|
||||
-------------
|
||||
To start the GDB servers for the application core and the network core, use these commands:
|
||||
|
||||
JLinkGDBServer -device nRF5340_xxAA_APP -autoconnect 1 -if SWD -speed 4000 -port 2331 -swoport 2332 -telnetport 2333
|
||||
JLinkGDBServer -device nRF5340_xxAA_NET -autoconnect 1 -if SWD -speed 4000 -port 2334 -swoport 2335 -telnetport 2336
|
||||
|
||||
Then you can connect GDB to targets:
|
||||
|
||||
(gdb_app) target remote localhost:2331
|
||||
(gdb_net) target remote localhost:2334
|
@ -1,42 +0,0 @@
|
||||
nRF5340-DK
|
||||
==========
|
||||
|
||||
README for NuttX port to NRF5340 DK (PCA10095) boards.
|
||||
|
||||
Tool Issues
|
||||
===========
|
||||
|
||||
OpenOCD
|
||||
-------------
|
||||
There is no support official support for Nordic Cortex M33 chips (nRF9160 or nRF5340).
|
||||
|
||||
Segger J-Link
|
||||
-------------
|
||||
To start the GDB servers for the application core and the network core, use these commands:
|
||||
|
||||
JLinkGDBServer -device nRF5340_xxAA_APP -autoconnect 1 -if SWD -speed 4000 -port 2331 -swoport 2332 -telnetport 2333
|
||||
JLinkGDBServer -device nRF5340_xxAA_NET -autoconnect 1 -if SWD -speed 4000 -port 2334 -swoport 2335 -telnetport 2336
|
||||
|
||||
Then you can connect GDB to targets:
|
||||
|
||||
(gdb_app) target remote localhost:2331
|
||||
(gdb_net) target remote localhost:2334
|
||||
|
||||
Flashing locked device
|
||||
----------------------
|
||||
|
||||
1. Unlock the Net core:
|
||||
|
||||
nrfjprog --recover --coprocessor CP_NETWORK
|
||||
|
||||
2. Unlock the App core:
|
||||
|
||||
nrfjprog --recover
|
||||
|
||||
3. Flash the Net core:
|
||||
|
||||
nrfjprog --coprocessor CP_NETWORK --program nuttx_net.hex --verify --chiperase
|
||||
|
||||
4. Flash the App core:
|
||||
|
||||
nrfjprog --program nuttx_app.hex --verify --chiperase
|
Loading…
Reference in New Issue
Block a user