198 lines
7.6 KiB
ReStructuredText
198 lines
7.6 KiB
ReStructuredText
.. _frdm_kw41z:
|
|
|
|
NXP FRDM-KW41Z
|
|
##############
|
|
|
|
Overview
|
|
********
|
|
|
|
The FRDM-KW41Z is a development kit enabled by the Kinetis |reg| W series
|
|
KW41Z/31Z/21Z (KW41Z) family built on ARM |reg| Cortex |reg|-M0+ processor with
|
|
integrated 2.4 GHz transceiver supporting Bluetooth |reg| Smart/Bluetooth
|
|
|reg| Low Energy
|
|
(BLE) v4.2, Generic FSK, IEEE |reg| 802.15.4 and Thread.
|
|
|
|
The FRDM-KW41Z kit contains two Freedom boards that can be used as a
|
|
development board or a shield to connect to a host processor. The FRDM-KW41Z is
|
|
form-factor compatible with the Arduino |trade| R3 pin layout for more expansion
|
|
options.
|
|
|
|
The FRDM-KW41Z highly-sensitive, optimized 2.4 GHz radio features a PCB
|
|
F-antenna which can be bypassed to test via SMA connection, multiple power
|
|
supply options, push/capacitive touch buttons, switches, LEDs and integrated
|
|
sensors.
|
|
|
|
.. image:: frdm_kw41z.jpg
|
|
:width: 720px
|
|
:align: center
|
|
:alt: FRDM-KW41Z
|
|
|
|
Hardware
|
|
********
|
|
|
|
- Can be configured as Host or Shield for connection to Host Processor
|
|
- Supports all DC-DC configurations (Buck, Boost, Bypass)
|
|
- PCB inverted F-type antenna
|
|
- SMA RF Connector
|
|
- RF regulatory certified
|
|
- Serial Flash for OTA firmware upgrades
|
|
- On board NXP FXOS8700CQ digital sensor, 3D Accelerometer ( |plusminus| 2g/
|
|
|plusminus| 4g/ |plusminus| 8g) + 3D
|
|
Magnetometer
|
|
- OpenSDA and JTAG debug
|
|
|
|
For more information about the KW41Z SoC and FRDM-KW41Z board:
|
|
|
|
- `KW41Z Website`_
|
|
- `KW41Z Datasheet`_
|
|
- `KW41Z Reference Manual`_
|
|
- `FRDM-KW41Z Website`_
|
|
- `FRDM-KW41Z User Guide`_
|
|
- `FRDM-KW41Z Schematics`_
|
|
|
|
Supported Features
|
|
==================
|
|
|
|
The frdm_kw41z board configuration supports the following hardware features:
|
|
|
|
+-----------+------------+-------------------------------------+
|
|
| Interface | Controller | Driver/Component |
|
|
+===========+============+=====================================+
|
|
| NVIC | on-chip | nested vector interrupt controller |
|
|
+-----------+------------+-------------------------------------+
|
|
| SYSTICK | on-chip | systick |
|
|
+-----------+------------+-------------------------------------+
|
|
| PINMUX | on-chip | pinmux |
|
|
+-----------+------------+-------------------------------------+
|
|
| GPIO | on-chip | gpio |
|
|
+-----------+------------+-------------------------------------+
|
|
| I2C | on-chip | i2c |
|
|
+-----------+------------+-------------------------------------+
|
|
| ADC | on-chip | adc |
|
|
+-----------+------------+-------------------------------------+
|
|
| UART | on-chip | serial port-polling; |
|
|
| | | serial port-interrupt |
|
|
+-----------+------------+-------------------------------------+
|
|
| FLASH | on-chip | soc flash |
|
|
+-----------+------------+-------------------------------------+
|
|
| SENSOR | off-chip | fxos8700 polling: |
|
|
| | | fxos8700 trigger |
|
|
+-----------+------------+-------------------------------------+
|
|
|
|
The default configuration can be found in the defconfig file:
|
|
|
|
``boards/arm/frdm_kw41z/frdm_kw41z_defconfig``
|
|
|
|
Other hardware features are not currently supported by the port.
|
|
|
|
Connections and IOs
|
|
===================
|
|
|
|
The KW41Z SoC has three pairs of pinmux/gpio controllers, but only two are
|
|
currently enabled (PORTA/GPIOA and PORTC/GPIOC) for the FRDM-KW41Z board.
|
|
|
|
+-------+-------------+---------------------------+
|
|
| Name | Function | Usage |
|
|
+=======+=============+===========================+
|
|
| PTC1 | GPIO | Red LED / FXOS8700 INT1 |
|
|
+-------+-------------+---------------------------+
|
|
| PTA19 | GPIO | Green LED |
|
|
+-------+-------------+---------------------------+
|
|
| PTA18 | GPIO | Blue LED |
|
|
+-------+-------------+---------------------------+
|
|
| PTB2 | ADC | ADC0 channel 3 |
|
|
+-------+-------------+---------------------------+
|
|
| PTC2 | I2C1_SCL | I2C / FXOS8700 |
|
|
+-------+-------------+---------------------------+
|
|
| PTC3 | I2C1_SDA | I2C / FXOS8700 |
|
|
+-------+-------------+---------------------------+
|
|
| PTC4 | GPIO | SW3 |
|
|
+-------+-------------+---------------------------+
|
|
| PTC5 | GPIO | SW4 |
|
|
+-------+-------------+---------------------------+
|
|
| PTC6 | LPUART0_RX | UART Console |
|
|
+-------+-------------+---------------------------+
|
|
| PTC7 | LPUART0_TX | UART Console |
|
|
+-------+-------------+---------------------------+
|
|
|
|
System Clock
|
|
============
|
|
|
|
The KW41Z SoC is configured to use the 32 MHz external oscillator on the board
|
|
with the on-chip FLL to generate a 40 MHz system clock.
|
|
|
|
Serial Port
|
|
===========
|
|
|
|
The KW41Z SoC has one UART, which is used for the console.
|
|
|
|
Programming and Debugging
|
|
*************************
|
|
|
|
The FRDM-KW41Z includes the :ref:`nxp_opensda` serial and debug adapter built
|
|
into the board to provide debugging, flash programming, and serial
|
|
communication over USB.
|
|
|
|
To use the pyOCD tools with OpenSDA, follow the instructions in the
|
|
:ref:`nxp_opensda_pyocd` page using the `DAPLink FRDM-KW41Z Firmware`_. The
|
|
pyOCD tools are not the default for this board, therefore it is necessary to
|
|
set ``OPENSDA_FW=daplink`` explicitly when you invoke ``make flash`` or ``make
|
|
debug``.
|
|
|
|
.. note::
|
|
pyOCD added support for KW41Z recently and has not yet tagged a release,
|
|
therefore you must build pyOCD from source based on the current master
|
|
branch (f21d43d).
|
|
|
|
To use the Segger J-Link tools with OpenSDA, follow the instructions in the
|
|
:ref:`nxp_opensda_jlink` page using the `Segger J-Link OpenSDA V2.1 Firmware`_.
|
|
The Segger J-Link tools are the default for this board, therefore it is not
|
|
necessary to set ``OPENSDA_FW=jlink`` explicitly when you invoke ``make
|
|
debug``.
|
|
|
|
Flashing
|
|
========
|
|
|
|
The Segger J-Link firmware does not support command line flashing, therefore
|
|
the ``make flash`` build target is not supported.
|
|
|
|
Debugging
|
|
=========
|
|
|
|
This example uses the :ref:`hello_world` sample with the
|
|
:ref:`nxp_opensda_jlink` tools. Use the ``make debug`` build target to build
|
|
your Zephyr application, invoke the J-Link GDB server, attach a GDB client, and
|
|
program your Zephyr application to flash. It will leave you at a gdb prompt.
|
|
|
|
.. code-block:: console
|
|
|
|
$ cd <zephyr_root_path>
|
|
$ . zephyr-env.sh
|
|
$ cd samples/hello_world/
|
|
$ make BOARD=frdm_kw41z DEBUG_SCRIPT=jlink.sh debug
|
|
|
|
|
|
.. _FRDM-KW41Z Website:
|
|
http://www.nxp.com/products/microcontrollers-and-processors/more-processors/application-specific-mcus-mpus/bluetooth-low-energy-ble/nxp-freedom-development-kit-for-kinetis-kw41z-31z-21z-mcus:FRDM-KW41Z
|
|
|
|
.. _FRDM-KW41Z User Guide:
|
|
http://www.nxp.com/assets/documents/data/en/user-guides/FRDMKW41ZUG.pdf
|
|
|
|
.. _FRDM-KW41Z Schematics:
|
|
http://www.nxp.com/assets/downloads/data/en/schematics/FRDM-KW41Z-SCH.pdf
|
|
|
|
.. _KW41Z Website:
|
|
http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/w-series-wireless-m0-plus-m4/kinetis-kw41z-2.4-ghz-dual-mode-ble-and-802.15.4-wireless-radio-microcontroller-mcu-based-on-arm-cortex-m0-plus-core:KW41Z
|
|
|
|
.. _KW41Z Datasheet:
|
|
http://www.nxp.com/assets/documents/data/en/data-sheets/MKW41Z512.pdf
|
|
|
|
.. _KW41Z Reference Manual:
|
|
http://www.nxp.com/assets/documents/data/en/reference-manuals/MKW41Z512RM.pdf
|
|
|
|
.. _DAPLink FRDM-KW41Z Firmware:
|
|
http://www.nxp.com/assets/downloads/data/en/reference-applications/OpenSDAv2.2_DAPLink_frdmkw41z_rev0241.zip
|
|
|
|
.. _Segger J-Link OpenSDA V2.1 Firmware:
|
|
https://www.segger.com/downloads/jlink/OpenSDA_V2_1.bin
|