The latest development version of this page may be more current than this released 4.1.0 version.

NUMAKER M2L31KI

Overview

The NuMaker M2L31KI is an Internet of Things (IoT) application focused platform specially developed by Nuvoton. The NuMaker-M2L31KI is based on the NuMicro® M2L31 series MCU with ARM® -Cortex®-M23 core.

Features:

  • 32-bit Arm Cortex®-M23 M2L31KIDAE MCU

  • Core clock up to 72 MHz

  • 512 KB embedded Dual Bank Flash and 168 KB SRAM

  • USB 2.0 Full-Speed OTG / Device

  • USB 1.1 Host

  • Arduino UNO compatible interface

  • One push-button is for reset

  • Two LEDs: one is for power indication and the other is for user-defined

  • On-board NU-Link2 ICE debugger/programmer with SWD connector

More information about the board can be found at the NuMaker M2L31KI User Manual [1].

Supported Features

The numaker_m2l31ki 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.

numaker_m2l31ki/m2l31xxx target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M23 CPU1

arm,cortex-m23

ADC

on-chip

Nuvoton, NuMaker ADC controller1

nuvoton,numaker-adc

CAN

on-chip

Nuvoton NuMaker CAN FD controller, using Bosch M_CAN IP2

nuvoton,numaker-canfd

Clock control

on-chip

Nuvoton NuMaker System Clock Controller (SCC)1

nuvoton,numaker-scc

on-chip

Nuvoton NuMaker Peripheral Clock Controller (PCC)1

nuvoton,numaker-pcc

on-chip

Generic fixed-rate clock provider1

fixed-clock

Flash controller

on-chip

Nuvoton NuMaker RRAM Memory Controller1

nuvoton,numaker-rmc

GPIO & Headers

on-chip

Nuvoton, Numaker-GPIO node1 5

nuvoton,numaker-gpio

I2C

on-chip

Nuvoton, NuMaker I2C controller4

nuvoton,numaker-i2c

Interrupt controller

on-chip

ARMv8-M NVIC (Nested Vectored Interrupt Controller)1

arm,v8m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

Pin controller is responsible for controlling pin function selection and pin properties1

nuvoton,numaker-pinctrl

PPC architecture

on-chip

Nuvoton NuMaker USB Type-C power path controller1

nuvoton,numaker-ppc

PWM

on-chip

Nuvoton, NuMaker PWM controller2

nuvoton,numaker-pwm

Reset controller

on-chip

Nuvoton, Numaker-RESET1

nuvoton,numaker-rst

RTC

on-chip

Nuvoton, NuMaker RTC controller1

nuvoton,numaker-rtc

Serial controller

on-chip

Nuvoton, Numaker-UART1 7

nuvoton,numaker-uart

SPI

on-chip

Nuvoton, NuMaker SPI controller4

nuvoton,numaker-spi

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

USB Type-C Port Controller

on-chip

Nuvoton NuMaker USB Type-C port controller1

nuvoton,numaker-tcpc

Timer

on-chip

ARMv8-M System Tick1

arm,armv8m-systick

USB

on-chip

Nuvoton NuMaker USB 1.1 device controller1

nuvoton,numaker-usbd

USB Type-C

on-chip

Nuvoton NuMaker USB Type-C VBUS controller1

nuvoton,numaker-vbus

Watchdog

on-chip

Nuvoton, NuMaker window watchdog timer1

nuvoton,numaker-wwdt

The on-board 12-MHz crystal allows the device to run at its maximum operating speed of 72MHz.

More details about the supported peripherals are available in M2L31 TRM [1]

Building and Flashing

Flashing

Here is an example for the Hello World application.

On board debugger Nu-link2 can emulate UART0 as a virtual COM port over usb, To enable this, set ISW1 DIP switch 1-3 (TXD RXD VOM) to ON. Connect the NuMaker-M2L31KI to your host computer using the USB port, then run a serial host program to connect with your board. For example:

$ minicom -D /dev/ttyACM0
# From the root of the zephyr repository
west build -b numaker_m2l31ki samples/hello_world
west flash

Debugging

Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b numaker_m2l31ki samples/hello_world
west debug

Step through the application in your debugger.

References