FRDM_RW612
Overview
The RW612 is a highly integrated, low-power tri-radio wireless MCU with an integrated 260 MHz ARM Cortex-M33 MCU and Wi-Fi 6 + Bluetooth Low Energy (LE) 5.3 / 802.15.4 radios designed for a broad array of applications, including connected smart home devices, gaming controllers, enterprise and industrial automation, smart accessories and smart energy.
The RW612 MCU subsystem includes 1.2 MB of on-chip SRAM and a high-bandwidth Quad SPI interface with an on-the-fly decryption engine for securely accessing off-chip XIP flash.
The advanced design of the RW612 delivers tight integration, low power and highly secure operation in a space- and cost-efficient wireless MCU requiring only a single 3.3 V power supply.
Hardware
260 MHz ARM Cortex-M33, tri-radio cores for Wifi 6 + BLE 5.3 + 802.15.4
1.2 MB on-chip SRAM
Supported Features
The frdm_rw612
board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo
-
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M33F CPU1 |
|
ADC |
on-chip |
||
ARM architecture |
on-chip |
LPC Flexcomm node1 |
|
on-chip |
RW SOC controller node2 |
||
on-chip |
NXP NBU interruption information1 |
||
Audio |
on-chip |
NXP DMIC1 |
|
Bluetooth |
on-chip |
NXP BLE HCI information1 |
|
Clock control |
on-chip |
LPC SYSCON & CLKCTL IP node2 |
|
Counter |
on-chip |
Driver that uses the NXP LPC RTC High resolution counter1 |
|
on-chip |
|||
on-chip |
NXP Multirate Timer2 |
||
on-chip |
|||
DAC |
on-chip |
NXP GAU DAC1 |
|
DMA |
on-chip |
NXP LPC DMA controller1 |
|
Ethernet |
on-chip |
NXP ENET IP Module1 |
|
on-chip |
NXP ENET MAC/L2 Device1 |
||
on-board |
Microchip KSZ8081 Ethernet PHY device1 |
||
on-chip |
NXP ENET PTP (Precision Time Protocol) Clock1 |
||
GPIO & Headers |
on-chip |
LPC GPIO1 |
|
on-chip |
LPC GPIO port device2 |
||
on-board |
GPIO pins exposed on NXP LCD pmod interface (e.g., used on LCD-PAR-035 panel)1 |
||
IEEE 802.15.4 HDLC RCP interface |
on-chip |
NXP HDLC RCP interface node1 |
|
I2C |
on-chip |
LPC I2C1 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv8-M NVIC (Nested Vectored Interrupt Controller)1 |
|
on-chip |
NXP Pin interrupt and pattern match engine (PINT)1 |
||
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MDIO |
on-chip |
NXP ENET MDIO Features1 |
|
MIPI-DBI |
on-chip |
NXP LCDIC Controller1 |
|
MMU / MPU |
on-chip |
ARMv8-M MPU (Memory Protection Unit)1 |
|
MTD |
on-board |
NXP FlexSPI NOR1 |
|
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
||
on-board |
AP Memory APS6404L pSRAM on NXP FlexSPI bus1 |
||
Pin control |
on-chip |
MCI IO MUX Pin Controller1 |
|
Power management |
on-chip |
NXP RW PMU1 |
|
on-chip |
Some NXP SoC’s have pins dedicated to generate a wakeup interrupt2 |
||
on-chip |
Properties for NXP power management through the PDCFG register1 1 |
||
Power domain |
on-chip |
This power domain will Turn On and Off devices when transitioning in and out a specified Power State1 |
|
PWM |
on-chip |
NXP SCTimer PWM1 |
|
Reset controller |
on-chip |
NXP RSTCTL Peripheral reset controller2 |
|
RNG |
on-chip |
Kinetis TRNG (True Random Number Generator)1 |
|
RTC |
on-chip |
NXP LPC RTC1 |
|
Serial controller |
on-chip |
||
SPI |
on-chip |
NXP FlexSPI controller1 |
|
on-chip |
NXP LPC SPI controller1 |
||
SRAM |
on-chip |
Generic on-chip SRAM description2 |
|
Timer |
on-chip |
ARMv8-M System Tick1 |
|
on-chip |
NXP OS Timer on i.MX-RT5xx/6xx1 |
||
USB |
on-chip |
NXP EHCI USB device mode1 |
|
Watchdog |
on-chip |
LPC Windowed Watchdog Timer1 |
Programming and Debugging
Build and flash applications as usual (see Building an Application and Run an Application for more details).
Configuring a Debug Probe
A debug probe is used for both flashing and debugging the board. This board is configured by default to use the JLink Firmware.
Configuring a Console
Connect a USB cable from your PC to J10, and use the serial terminal of your choice (minicom, putty, etc.) with the following settings:
Speed: 115200
Data: 8 bits
Parity: None
Stop bits: 1
Flashing
Here is an example for the Hello World application. This example uses the J-Link Debug Host Tools as default.
# From the root of the zephyr repository
west build -b frdm_rw612 samples/hello_world
west flash
Open a serial terminal, reset the board (press the RESET button), and you should see the following message in the terminal:
***** Booting Zephyr OS v3.6.0 *****
Hello World! frdm_rw612
Debugging
Here is an example for the Hello World application. This example uses the J-Link Debug Host Tools as default.
# From the root of the zephyr repository
west build -b frdm_rw612 samples/hello_world
west debug
Open a serial terminal, step through the application in your debugger, and you should see the following message in the terminal:
***** Booting Zephyr OS zephyr-v3.6.0 *****
Hello World! frdm_rw612
SRAM Bus Access Partitioning
RW612 supports shared access of the SRAM from both the code bus and data bus. The bus used to access the SRAM is determined using two separate memory mapped address spaces. The application can configure the partitioning of the SRAM access regions by a devicetree overlay. For example, below is part of an overlay to change the whole SRAM to be used for data.
&sram_data {
reg = <0x0 DT_SIZE_K(1216)>;
};
Wireless Connectivity Support
Fetch Binary Blobs
To support Bluetooth or Wi-Fi, frdm_rw612 requires fetching binary blobs, which can be achieved by running the following command:
west blobs fetch hal_nxp
Bluetooth
BLE functionality requires to fetch binary blobs, so make sure to follow
the Fetch Binary Blobs
section first.
frdm_rw612 platform supports the monolithic feature. The required binary blob
<zephyr workspace>/modules/hal/nxp/zephyr/blobs/rw61x_sb_ble_a2.bin
will be linked
with the application image directly, forming one single monolithic image.
Wi-Fi
Wi-Fi functionality requires to fetch binary blobs, so make sure to follow
the Fetch Binary Blobs
section first.
frdm_rw612 platform supports the monolithic feature. The required binary blob
<zephyr workspace>/modules/hal/nxp/zephyr/blobs/rw61x_sb_wifi_a2.bin
will be linked
with the application image directly, forming one single monolithic image.
Support Resources for Zephyr
MCUXpresso for VS Code, wiki documentation and Zephyr lab guides
NXP’s Zephyr landing page (including training resources)