The NuMaker-PFM-M2351 is a development board based on NuMicro®-M2351 microcontroller. Nuvoton NuMicro® M2351 secure microcontroller series is empowered by Arm® Cortex®-M23 core with TrustZone® for Armv8-M architecture, which elevates the traditional firmware security to the new level of robust software security. With M2351 series, designers can easily expand the coverage of protection from application level to TrustZone level.
Table of Contents
M2351 Series Microcontroller Features¶
Three minutes to know M2351 Series: http://user21515.piee.pw/M2351IntroVideo
The NuMicro® M2351 series is based on Arm® Cortex®-M23 core with TrustZone® for Armv8-M architecture, which elevates the traditional firmware security to the new level of robust software security. With M2351 series, designers can easily expand the coverage of protection from application level to TrustZone level.
These M2351 microcontrollers with low-power running up to 64 MHz frequency with up to 512 K-bytes embedded flash memory in dual bank mode supporting secure OTA (Over-The-Air) firmware update and up to 96 K-bytes embedded SRAM. Furthermore, the M2351 series also provides high-performance connectivity peripheral interfaces such as UART, SPI, I2C, GPIOs, USB and ISO 7816-3 for the smart card reader. Its secure and low-power features strengthen the innovation of IoT security.
- M2351KIAAE based on Arm® Cortex®-M23 core
- TrustZone® for ARM®v8-M
- Up to 8 regions MPU_NS (for the non-secure world)
- Up to 8 regions MPU_S (for the secure world)
- 8 Security Attribution Unit (SAU) memory regions
- Running up tp 64 MHz
- Voltage range: 1.62V to 3.63 V
- Temperature range: -40°C to +105°C
- Up to 512 KB of dual bank flash memory
- Up to 96 KB SRAM
Mbed OS Build Target
With M2351 Series supporting TrustZone, there is not only one Mbed OS build target for the NuMaker-PFM-M2351 board. Combined by non-PSA/PSA and secure/non-secure, there are four Mbed OS build targets to consider:
- NU_PFM_M2351_NPSA_S: Target for building non-PSA/secure code. For trivial use case, designers can rely on the pre-built one in Mbed OS and needn't build this code by themselves. For developing their application, refer to NuMaker-mbed-TZ-secure-example for details.
- NU_PFM_M2351_NPSA_NS: Target for building non-PSA/non-secure code. Designers must have built for the above target and then can build for this target. For trivial use case, they can rely on the pre-built one in Mbed OS. For developing their application, same as above, refer to NuMaker-mbed-TZ-secure-example for details. Secure code and non-secure code must design in accordance.
- NU_PFM_M2351_S: Target for building PSA/secure code. It is under development.
- NU_PFM_M2351_NS: Target for building PSA/non-secure code. It is under development.
Besides, there's one old target name:
- NUMAKER_PFM_M2351: Target for building both non-PSA/secure code and non-PSA/non-secure code. It is deprecated since Mbed OS 5.14.
Mbed Online Compiler can build code for the NuMaker-PFM-M2351 board successfully since Mbed OS 5.14. For not confusing, it just supports the NU_PFM_M2351_NPSA_NS target. For building code for other targets, designers must use the Arm Mbed CLI tool instead.
NuMaker PFM-M2351 Board Features¶
With the NuMaker-PFM-M2351 board, users can easily develop the secure application project. The left part of this board is the M2351 platform, including the target chip M2351KIAAE and the related onboard application parts and connectors.
The right part of this board is a Nu-Link-Me ICE Bridge based on the SWD (Serial Wire Debug) interface connected with the target chip, allowing users to program the application code to the Flash of target chip through the USB port from PC Host.
- On-board Nu-Link-Me ICE Bridge (Mass storage as USB Disk drive) for drag and drop programming
- Arduino UNO compatible interface
- M2351 extended interface connectors
- Secure Serial Flash(W77F32W) for secure data storage, cryptographic key storage, and general data storage
- Audio codec (NAU88L25) with Microphone In and Headphone Out
- Wi-Fi module for wireless application
- USB 2.0 Full-Speed OTG / Host / Device
- MicroSD Card slot for T-Flash
- Three push-buttons: one is for reset and the other two are for user-defined
- Three LEDs: one is for power indication and the other two are for user-defined
Arduino UNO Compatible Interface
Pin Assignment for Extended Connectors
- Integrated Nu-Link Me USB debugger/emulator with debug out functionality
- Supports mbed drag-and-drop programming and virtual COM port
- Supports ETM (embedded trace macrocell) debug interface for instruction and data tracing
Windows serial port driver
- NuMaker USB Driver (including Nu-Link) DOWNLOAD
ICE Firmware Update¶
DAP Link Interface Firmware Update
The board is fitted with an NUC12SRE3DE MCU running the DAPLink interface firmware to provide three main functions over a single physical USB connection.
- USB disk “drag and drop” programming – ideal for fast prototyping or in-field upgradable products.
- Debug interface using the Nu-Link – provides full debug capability with tools like Keil MDK.
- USB serial interface between the host computer and the target.
Currently no update required.
- Set MSG switch (No.4 of ISW1 on ICE) to ON. (It should be default at ON position)
- Download NuMaker ICE firmware file Download
- There is ICE firmware file "NuLink1FW.bin"
- Keep pressing DAP button and connect the USB port to your PC. A Nu_Link drive will be mounted. (Not Mbed drive)
- Copy the "NuLink1FW.bin" to the Nu_Link drive.
- When copy done, disconnect USB.