FRDM-K32L2B3
Overview
The FRDM-K32L2B3 FRDM development board provides a platform for evaluation and development of the K32 L2B SoC Family. The board provides easy Access to K32 L2B SoC I/O.
Hardware
K32L2B31VLH0A SoC running at up to 48 MHz, 256 kB flash memory, 32 kB SRAM memory.
Full-speed USB port with micro A/B connector for device functionality.
NXP FXOS8700CQ digital sensor, 3D accelerometer (±2g/±4g/±8g) + 3D magnetometer.
On-board segment LCD.
Form factor compatible with Arduino® Rev3 pin layout.
OpenSDA debug interface.
For more information about the K32L2B31VLH0A SoC and FRDM-K32L2B3 board:
Supported Features
The frdm_k32l2b3
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.
frdm_k32l2b3/k32l2b31a
target
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M0+ CPU1 |
|
ADC |
on-chip |
Kinetis ADC161 |
|
Clock control |
on-chip |
NXP Kinetis Multipurpose Clock generator (MCG) IP node1 |
|
on-chip |
Kinetis System Integration Module (SIM) IP node1 |
||
on-chip |
Generic fixed factor clock provider2 |
||
on-chip |
NXP MCXC oscillator1 |
||
Counter |
on-chip |
NXP LPTMR1 |
|
on-chip |
NXP Periodic Interrupt Timer (PIT)1 |
||
on-chip |
Child node for the Periodic Interrupt Timer node, intended for an individual timer channel2 |
||
Flash controller |
on-chip |
NXP Kinetis Flash Memory Module A (FTFA)1 |
|
GPIO & Headers |
on-chip |
Kinetis GPIO5 |
|
I2C |
on-chip |
||
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv6-M NVIC (Nested Vectored Interrupt Controller) controller1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MTD |
on-chip |
Flash node1 |
|
Pin control |
on-chip |
NXP PORT Pin Controller5 |
|
on-chip |
NXP PORT Pin Controller1 |
||
PWM |
on-chip |
MCUX Timer/PWM Module (TPM)3 |
|
RTC |
on-chip |
NXP Real Time Clock (RTC)1 |
|
Sensors |
on-board |
FXOS8700 6-axis accelerometer/magnetometer sensor1 |
|
on-chip |
NXP Kinetis temperature sensor1 |
||
Serial controller |
on-chip |
||
on-chip |
Kinetis UART1 |
||
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv6-M System Tick1 |
|
USB |
on-chip |
NPX Kinetis USBFSOTG Controller in device mode1 |
Connections and IOs
The K32L2B31VLH0A SoC has five pairs of pinmux/gpio controllers, and all are currently enabled (PORTA/GPIOA, PORTB/GPIOB, PORTC/GPIOC, PORTD/GPIOD, and PORTE/GPIOE) for the FRDM-K32L2B3 board.
Name |
Function |
Usage |
---|---|---|
PTD5 |
GPIO |
Green LED |
PTE31 |
GPIO |
Red LED |
PTA4 |
GPIO |
User Button 1 (SW1) |
PTC3 |
GPIO |
User Button 2 (SW2) |
PTA1 |
LPUART0_RX |
UART Console |
PTA2 |
LPUART0_TX |
UART Console |
PTE24 |
I2C0_SCL |
I2C Accelerometer |
PTE25 |
I2C0_SDA |
I2C Accelerometer |
System Clock
The K32L2B31VLH0A SoC is configured to use the 32.768 kHz external oscillator on the board to generate a 48 MHz system clock.
Serial Port
The K32L2B31VLH0A LPUART0 is used for the console.
Programming and Debugging
The frdm_k32l2b3
board supports the runners and associated west commands listed below.
flash | debug | attach | debugserver | rtt | |
---|---|---|---|---|---|
linkserver | ✅ (default) | ✅ (default) | ✅ | ✅ | |
pyocd | ✅ | ✅ | ✅ | ✅ | ✅ |
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 OpenSDA DAPLink Onboard Debug Probe.
For more information about OpenSDA and firmware applications check OpenSDA FRDM-K32L2B3.
Using LinkServer
Install the LinkServer Debug Host Tools and make sure they are in your search path. LinkServer works with the CMSIS-DAP firmware. Please follow the instructions on OpenSDA DAPLink Onboard Debug Probe and select the latest revision of the firmware image.
LinkServer is the default for this board, west flash
and west debug
will
call the linkserver runner.
west flash
west debug
Using pyOCD
Install the pyOCD Debug Host Tools and make sure they are in your search path. pyOCD works with the CMSIS-DAP firmware.
Add the arguments -DBOARD_FLASH_RUNNER=pyocd
and
-DBOARD_DEBUG_RUNNER=pyocd
when you invoke west build
to override the
default runner from linkserver to pyocd:
# From the root of the zephyr repository
west build -b frdm_k32l2b3 samples/hello_world -- -DBOARD_FLASH_RUNNER=pyocd -DBOARD_DEBUG_RUNNER=pyocd
Configuring a Console
Regardless of your choice in debug probe, we will use the OpenSDA microcontroller as a usb-to-serial adapter for the serial console.
Connect a USB cable from your PC to J13.
Use the following settings with your serial terminal of choice (minicom, putty, etc.):
Speed: 115200
Data: 8 bits
Parity: None
Stop bits: 1
Flashing
Here is an example for the Hello World application.
# From the root of the zephyr repository
west build -b frdm_k32l2b3 samples/hello_world
west flash
Open a serial terminal, reset the board (press the SW2 button), and you should see the following message in the terminal:
*** Booting Zephyr OS build v4.1.0-7032-g3198db1b1229 ***
Hello World! frdm_k32l2b3/k32l2b31a
Debugging
Here is an example for the Hello World application.
# From the root of the zephyr repository
west build -b frdm_k32l2b3 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 build v4.1.0-7032-g3198db1b1229 ***
Hello World! frdm_k32l2b3/k32l2b31a
Support Resources for Zephyr
MCUXpresso for VS Code, wiki documentation and Zephyr lab guides
NXP’s Zephyr landing page (including training resources)