Fixes bad usage of single backticks in lieu of double backticks for rendering inline literals, or simple '*' for italics. When appropriate, a better construct than double backticks has been selected (ex. :file:, :kconfig:option:, :c:func:, ...), or proper :ref: have been used if the original intention was to have a link. Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
205 lines
6.6 KiB
ReStructuredText
205 lines
6.6 KiB
ReStructuredText
.. _boardname_linkname:
|
|
|
|
SparkFun MicroMod board Processor
|
|
#################################
|
|
|
|
Overview
|
|
********
|
|
|
|
MicroMod is a solderless, modular interface ecosystem that uses the M.2 standard
|
|
to mix and match your choice of processor with specific Function Boards or
|
|
stand-alone Carrier Boards. A MicroMod processor board is approximately 22x22 mm,
|
|
and can insert into any MicroMod carrier board. More information can be found in
|
|
the `Micromod specification website`_.
|
|
|
|
All Micromod board targets support the following hardware features:
|
|
|
|
- USB host mode compliant to 2.0 specification
|
|
- GPIO
|
|
- 2 UART
|
|
- 2 I2C
|
|
- 2 SPI
|
|
- 2 ADC
|
|
- 2 PWM
|
|
- Watchdog Timer (WDT)
|
|
|
|
.. figure:: img/sparkfun_micromod.webp
|
|
:align: center
|
|
:alt: Sparkfun Micromod board
|
|
|
|
Sparkfun Micromod board (Credit: https://www.sparkfun.com)
|
|
|
|
Zephyr currently supports the following SoCs:
|
|
|
|
- ``micromod/nrf52840``
|
|
|
|
SparkFun MicroMod nRF52840 board Processor
|
|
##########################################
|
|
|
|
Overview
|
|
********
|
|
|
|
The ``micromod/nrf52840`` board target features the nRF52840 SoC
|
|
from Nordic Semiconductor, the SparkFun MicroMod nRF52840 Processor offers
|
|
a powerful combination of ARM Cortex-M4 CPU and 2.4 GHz Bluetooth transceiver
|
|
in the MicroMod form-factor. More information can be found in
|
|
the `Micromod nRF52840 guide`_.
|
|
|
|
Hardware
|
|
********
|
|
|
|
The ``micromod/nrf52840`` board target supports the following
|
|
hardware features:
|
|
|
|
- ARM Cortex-M4 CPU with floating point unit (FPU)
|
|
|
|
- 1MB internal Flash
|
|
- 256kB internal RAM
|
|
|
|
- Integrated 2.4GHz radio with support for Bluetooth Low Energy (BLE) and ieee802154
|
|
- USB 2.0 full speed (12 Mbps) controller
|
|
- QSPI with 128Mb flash memory
|
|
- ARM TrustZone Cryptocell 310 security subsystem
|
|
- USB host mode compliant to 2.0 specification
|
|
- GPIO
|
|
- 2 UART
|
|
- 2 I2C
|
|
- 2 SPI
|
|
- 2 ADC
|
|
- 2 PWM
|
|
- Watchdog Timer (WDT)
|
|
|
|
Supported Features
|
|
==================
|
|
|
|
The Zephyr ``micromod/nrf52840`` board target supports the following hardware
|
|
features:
|
|
|
|
+-----------+------------+-------------------------------------+
|
|
| Interface | Controller | Driver/Component |
|
|
+===========+============+=====================================+
|
|
| NVIC | on-chip | nested vector interrupt controller |
|
|
+-----------+------------+-------------------------------------+
|
|
| SYSTICK | on-chip | system clock |
|
|
+-----------+------------+-------------------------------------+
|
|
| RADIO | on-chip | Bluetooth, |
|
|
| | | ieee802154 |
|
|
+-----------+------------+-------------------------------------+
|
|
| UART | on-chip | serial port |
|
|
+-----------+------------+-------------------------------------+
|
|
| GPIO | on-chip | gpio |
|
|
+-----------+------------+-------------------------------------+
|
|
| PINMUX | on-chip | pinmux |
|
|
+-----------+------------+-------------------------------------+
|
|
| FLASH | on-chip | flash |
|
|
+-----------+------------+-------------------------------------+
|
|
| SPI | on-chip | spi |
|
|
+-----------+------------+-------------------------------------+
|
|
| I2C | on-chip | i2c |
|
|
+-----------+------------+-------------------------------------+
|
|
| USB | on-chip | usb |
|
|
+-----------+------------+-------------------------------------+
|
|
| QSPI | on-chip | nordic,nrf-qspi |
|
|
+-----------+------------+-------------------------------------+
|
|
|
|
|
|
Connections and IOs
|
|
===================
|
|
|
|
LED
|
|
---
|
|
|
|
* Led0 (blue) = P0.13
|
|
|
|
Micromod header
|
|
---------------
|
|
|
|
* micromod_1_uart = uart0
|
|
* micromod_2_uart = uart1
|
|
* micromod_0_i2c = i2c0
|
|
* micromod_1_i2c = i2c1
|
|
* micromod_0_spi = spi2
|
|
* micromod_header compatible with ``sparkfun,micromod-gpio``
|
|
|
|
Programming and Debugging
|
|
*************************
|
|
|
|
Applications for the ``micromod/nrf52840`` board target can be
|
|
built, flashed, and debugged in the usual way. See
|
|
:ref:`build_an_application` and :ref:`application_run` for more details on
|
|
building and running.
|
|
|
|
Flashing
|
|
========
|
|
|
|
Follow the instructions in the :ref:`nordic_segger` page to install
|
|
and configure all the necessary software. Further information can be
|
|
found in :ref:`nordic_segger_flashing`. Then build and flash
|
|
applications as usual (see :ref:`build_an_application` and
|
|
:ref:`application_run` for more details).
|
|
|
|
The flashing tool will depend on the carrier used along with the board.
|
|
In the case of `Sparkfun asset tracking carrier`_, it is possible to use
|
|
the SWD interface along with a J-Link.
|
|
|
|
Here is an example for the :ref:`hello_world` application.
|
|
|
|
First, run your favorite terminal program to listen for output.
|
|
|
|
.. code-block:: console
|
|
|
|
$ minicom -D <tty_device> -b 115200
|
|
|
|
Replace :code:`<tty_device>` with the port where the board nRF52840 DK
|
|
can be found. For example, under Linux, :code:`/dev/ttyACM0`.
|
|
|
|
Then build and flash the application in the usual way.
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/hello_world
|
|
:board: micromod/nrf52840
|
|
:goals: build flash
|
|
|
|
Debugging
|
|
=========
|
|
|
|
Refer to the :ref:`nordic_segger` page to learn about debugging Nordic boards with a
|
|
Segger IC.
|
|
|
|
In case of using a Nordic Segger Jlink, it is possible to configure the app to use Segger Real
|
|
Time Transfer (RTT) for debugging. In this case, build your app with the
|
|
:ref:`RTT snippet <snippet-rtt-console>`.
|
|
|
|
Testing the on-board LED
|
|
************************
|
|
|
|
There is a sample that allow you to test the LED on the board is working properly
|
|
with Zephyr:
|
|
|
|
* :zephyr:code-sample:`blinky`
|
|
|
|
You can build and flash the example to make sure Zephyr is running correctly on
|
|
your board. The button and LED definitions can be found in
|
|
:zephyr_file:`boards/sparkfun/micromod/micromod_nrf52840.dts`.
|
|
|
|
Testing the 128Mb qspi memory flash
|
|
***********************************
|
|
|
|
The ``micromod/nrf52840`` board target has a built-in NOR flash memory connected
|
|
to the qspi interface. It can be tested with the samples/drivers/jesd216 app.
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/drivers/jesd216
|
|
:board: micromod/nrf52840
|
|
:goals: build flash
|
|
|
|
References
|
|
**********
|
|
|
|
.. target-notes::
|
|
|
|
.. _Micromod specification website: https://www.sparkfun.com/micromod
|
|
.. _Sparkfun asset tracking carrier: https://www.sparkfun.com/products/17272
|
|
.. _Micromod nRF52840 guide: https://learn.sparkfun.com/tutorials/micromod-nrf52840-processor-hookup-guide
|
|
.. _J-Link Software and documentation pack: https://www.segger.com/jlink-software.html
|
|
.. _nRF52840 Product Specification: http://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.0.pdf
|