M451 Series BSP Directory

Similar documents
NUC122. NUC122 Board Supporting Package Directory Introduction. Rev NUC122 1 of 10 Rev Nuvoton Technology Corp.

Mini51DE Series CMSIS BSP Directory

NUC029FAE Board Support Package Directory Introduction. Rev

NUC472/NUC442 Board Support Package Directory Introduction. Rev

Nuvoton 4T 8051-based Microcontroller NuTiny-SDK-N78E715 User Manual

Nuvoton 1T 8051-based Microcontroller NuTiny-SDK-N76E885 User Manual

M451 Series BSP. Revision History

NANO102/112 Series CMSIS BSP Revision History

Nuvoton Nu-Link Debug Adapter User Manual

NuTool PinView Revision History

Nano102/112 Series Errata Sheet

NUC442/472 Series Errata Sheet

M2351 Trusted Boot. Application Note for 32-bit NuMicro Family

NUC123xxxAN Series Errata Sheet. Errata Sheet for 32-bit NuMicro Family Rev May 19, 2016

NUC505 ICP Programming Tool User Guide

M480 Series Errata Sheet

NuMicro M051 DN/DE Series Product Brief

N76E003 Series Errata Sheet

NuMicro Mini51 DE Series Product Brief

Nuvoton 1T 8051-based Microcontroller NuTiny-SDK-N76E616 User Manual

M2351 TrustZone Program Development

Nuvoton 1T 8051-based Microcontroller NuTiny-SDK-N76E003 User Manual

NuMicro Family NuTiny-SDK-NUC505 User Manual

NuSpeech Family N5132 High Sound Quality Voice Synthesizer Technical Reference Manual

Nuvoton Touch Key Series NT1160 Datasheet

NuMicro Family Nano100 Series Datasheet

NuMicro Family M2351 Series Product Brief

NuMicro Family NuTiny-SDK-Mini58 User Manual

Product Brief. For additional information or questions, please contact: Nuvoton Technology Corporation.

NuMicro Family NUC121/125 Series Datasheet

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

Release Notes for ADuCM4x50 EZ-KIT Board Support Pack 1.0.0

for NuMicro NUC029FAE Series

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

Arduino User Manual. For additional information or questions, please contact: Nuvoton Technology Corporation.

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.

LPC2148 DEV BOARD. User Manual.

Application Note. 32-bit Cortex -M0 MCU NuMicro Family. Application Note of NUVOTON 32-bit NuMicro Family

NuMicro Family Nano100(A) Series Datasheet

NuMicro Family M4TK Series Datasheet

NuMicro Family M0564 Series Datasheet

Datasheet. For additional information or questions, please contact: Nuvoton Technology Corporation.

NuMicro Family. Nu-Link Driver for Arduino IDE. User Manual

User Manual. LPC-StickView V3.0. for LPC-Stick (LPC2468) LPC2478-Stick LPC3250-Stick. Contents

Embedded Programming with ARM Cortex-M3 Basic Experiments 1

N551C321. Table of Contents-

NuMicro Family NUC126 Series Datasheet

Nuvoton NCT5655Y/W. 16-bit I 2 C-bus and SMBus GPIO controller with interrupt. Revision: 1.0 Date: May, 2016 NCT5655Y/W

for NuMicro NUC220 Series

User Manual. LPC-StickView V1.1. for LPC-Stick. Contents

MN101E50 Series. 8-bit Single-chip Microcontroller

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05

M3H Group(2) Application Note Asynchronous Serial Communication Circuit (UART-C)

2-Oct-13. the world s most energy friendly microcontrollers and radios

NuTiny-SDK-M051 User s Manual For NuMicro M051 Series

Lab 1 Introduction to Microcontroller

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director

USER GUIDE. ATWINC1500 Xplained Pro. Preface

Kinetis KE1xF512 MCUs

Ethernet1 Xplained Pro

QT3 Xplained Pro. Preface. Atmel QTouch USER GUIDE

AK-STM32-ETH Development Board

Kinetis SDK Release Notes for the TWR-K24F120M Tower System Module

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

NuMicro NUC230/240 Series DataSheet

Nuvoton ChipCorder One-Pin triggering Control Implementation Guide

NuMicro NUC100 Series NUC100/120xxxDN Datasheet

Hands on Experience with AVR32

Diploma in Embedded Systems

acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.

NuMicro Family NuMaker Brick Design Guide

UM User Manual for LPC54018 IoT Module. Rev November Document information

LPC1788 Mio Board. User Manual. Revision 1.0 1

The course provides all necessary theoretical and practical know-how for start developing platforms based on STM32L4 family.

Open407I-C & Open207I-C User Manual

NuMicro Family M451 Series Product Brief

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso

TWR-KE18F User's Guide

Kinetis SDK v Release Notes for the MK21DA5 and MKW24D5 Devices

Product Technical Brief S3C2416 May 2008

Introduction to ARM LPC2148 Microcontroller

Designing with STM32F2x & STM32F4

USER GUIDE. Atmel QT6 Xplained Pro. Preface

NXP AN11528 sensor Application note

FRDM-KE02Z User s Manual

CoLinkEx_LPC11C14 EVB Kit User Guide

EZ-USB FX3 Development Kit Guide

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

NuMicro Family NuTiny-SDK-MINI57 User Manual

Arduino Uno R3 INTRODUCTION

TMP89FS60FG Sample Program. Rev 1.0 Dec. 2007

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

FM3. MB9B500 Series 32-BIT MICROCONTROLLER FSS MB9BF506R EV-BOARD USER MANUAL APPLICATION NOTE FUJITSU SEMICONDUCTOR (SHANGHAI) LIMITED

PAC5523EVK1. Power Application Controllers. PAC5523EVK1 User s Guide. Copyright 2017 Active-Semi, Inc.

User Manual For CP-JR ARM7 USB-LPC2148 / EXP

High-side Power Distribution Switch NCT3521U

OM13071 LPCXpresso824-MAX Development board

STA bit single chip baseband controller for GPS and telematic applications. Features

Transcription:

M451 Series BSP Directory Directory Introduction for 32-bit NuMicro Family Directory Information Document Library SampleCode ThirdParty Driver reference manual and reversion history. Driver header and source files. Driver sample code. Library from third party The information described in this document is the exclusive intellectual property of Nuvoton Technology Corporation and shall not be reproduced without permission from Nuvoton. Nuvoton is providing this document only for reference purposes of NuMicro microcontroller based system design. Nuvoton assumes no responsibility for errors or omissions. All data and specifications are subject to change without notice. For additional information or questions, please contact: Nuvoton Technology Corporation. www.nuvoton.com Aug 15, 2015 Page 1 of 22 Rev 3.01.001

1 Document Information Revision History.pdf CMSIS.html Show all the revision history about specific BSP. Describe all of the information of CMSIS library, including CMSIS-CORE, CMSIS-DSP, CMSIS-RTOS API and CMSIS- SVD. NuMicro M451 Series Driver Reference Guide.chm Describe the definition, input and output of each API. Aug 15, 2015 Page 2 of 22 Rev 3.01.001

2 Library Information CMSIS Device StdDriver SmartcardLib UsbHostLib NuEdu CMSIS definitions by ARM Corp. CMSIS compliant device header file. All peripheral driver header and source files. Library for CCID smart card reader. Library for USB Host. Library for NuEdu board. Aug 15, 2015 Page 3 of 22 Rev 3.01.001

3 Sample Code Information CardReader FreeRTOS Hard_Fault_Sample Nu-LB-M451 NuTiny-SDK-M451 Template Semihost RegBased NuEdu CCID [1] smart card reader sample code. Simple FreeRTOS demo code. Show hard fault information when hard fault happened. Sample code for M451 learning board. Sample code for M451 Tiny Board. Software Development Template. Show how to debug with semi-host message print. The sample code able to access control registers directly. Sample code for M451 NuEdu Evaluation Board. StdDriver M451 Series Driver Samples 1. Circuit card interface device (CCID) is USB device that interface with integrated circuit cards. Aug 15, 2015 Page 4 of 22 Rev 3.01.001

4 \SampleCode\Nu-LB-M451 ADC_Knob CAN_NormalMode_TxRx I2C_EEPROM I2C_MPU6050 I2S_NAU8822 IR_NEC SPI_Flash SPI_TFT_LCD SPI_TFT_LCD_String StartKit USBD_HID_Mouse USBD_MassStorage_SDcard Demonstrate how to use EADC to measure voltage which is controlled by variable resistor and show conversion result on LED and TFT-LCD. Demonstrate how to transmit or receive message in Normal mode of CAN. This sample code needs to work with another Nu-LB-M451 board. Demonstrate how to access EEPROM through the I2C interface and print test results. Demonstrate how to access MPS6050 and display relative information on TFT LCD panel. Configure SPI1 as I2S Slave mode and demonstrate how I2S works in Slave mode with NAU8822 and play a sound. Demonstrate remote control function based on NEC IR (Infrared receiver) protocol and display relative information on TFT LCD panel when system receives data from NEC IR. Demonstrate how to read from and write to SPI Flash. Demonstrate how to display an image on TFT LCD panel via the SPI interface. Demonstrate how to print a message on TFT LCD panel via the SPI interface. Demonstrate how to display an image and print a message on TFT LCD panel via the SPI interface. Demonstrate how to implement a USB mouse device. The mouse cursor will move automatically when the mouse device is connected to PC by USB. Demonstrate how to use a SD card as storage to implement a USB Mass-Storage device. Aug 15, 2015 Page 5 of 22 Rev 3.01.001

5 \SampleCode\NuTiny-SDK-M451 LED Toggle PC.9 to turn on / off the board LED. Aug 15, 2015 Page 6 of 22 Rev 3.01.001

6 \SampleCode\NuEdu Smpl_Basic01_7_Segment Smpl_Basic01_ACMP Smpl_Basic01_ADC_Knob Smpl_Basic01_Button Smpl_Basic01_CRC_CRC8 Smpl_Basic01_EEPROM Smpl_Basic01_FMC_IAP Smpl_Basic01_FMC_ISP Smpl_Basic01_IrDA_NEC Smpl_Basic01_LED Smpl_Basic01_PWMDAC Smpl_Basic01_RGBLED Demonstrate how to set GPIO pin mode and use pin data output control 7 Segment. Demonstrate how ACMP[1] works with internal bandgap voltage. Demonstrate how to use ADC to measure variable resistor and change the LED brightness with PWM according to the ADC conversion results. Demonstrate how to set GPIO pin mode and detect pin input signal. Implement CRC in CRC-8 mode with CRC write data reverse function and get the CRC checksum result. Demonstrate how to access EEPROM through I2C interface and print the test results on PC via NUCOM1 port of the NuEdu-Basic01 board. Demonstrate a simple IAP function to show three independent programs including main routine, independent interrupt handler and updating or switching to another program with IAP function. Demonstrate LDROM updated through ISP function by branching to LDROM by software reset, and show debug messages via UART. Demonstrate remote control function based on NEC IR protocol and changes LED display via NuEdu- EVB-NUC240 and NuEdu-Basci01 boards when system receives data of NEC IR. Demonstrate how to set GPIO pin mode and use pin data output control LED. Demonstrate PWM function to simulate a DAC output. Demonstrate how to set GPIO pin mode and use pin data output control RGBLED. Aug 15, 2015 Page 7 of 22 Rev 3.01.001

Smpl_Basic01_RTC Smpl_Basic01_SPI_Flash Demonstrate RTC application and wake-up function. Demonstrate how to access SPI Flash through SPI interface and print the test results on both 7- Segments and PC via NUCOM1 port of NuEdu- Basic01 board. Smpl_Basic01_SPI_Flash_w_PDMA Demonstrate how to access SPI Flash through a SPI interface with combing PDMA function and print the test results on both 7-Segments and PC via NUCOM1 port of the NuEdu-Basic01 board. Smpl_Basic01_StartKit Smpl_Basic01_Timer Smpl_Basic01_UART Smpl_Basic01_UART_printf Demonstrate functions of NuEdu-Basic01 via NuEdu- EVB-NUC240. Demonstrate the timer periodic mode application and increase the number display on 7-segments from 0 to 99 via NuEdu-EVB-NUC240 and NuEdu-Basci01 boards when timer interrupt occurs. Demonstrate a print message through UART port Demonstrate a simple printf function to replace the standard printf library for reducing the code size issue. Aug 15, 2015 Page 8 of 22 Rev 3.01.001

7 \SampleCode\RegBased ACMP ACMP_Wakeup CAN_Set_MaskFilter CAN_Test_MaskFilter CLK_ClockDetector CRC_CCITT CRC_CRC8 DAC_PDMA_PWMTrigger DAC_PDMA_ScatterGather_PW MTrigger DAC_PDMA_TimerTrigger DAC_PWMTrigger DAC_TimerTrigger DAC_WriteDataTrigger EADC_ADINT_Trigger Demonstrate how ACMP [1] works with internal bandgap voltage. Show how to wake up MCU from Power-down mode by ACMP wake-up function. Use MaskFilter to receive message in Normal mode. This sample code needs to work with CAN_Test_MaskFilter. Use message object No.1 to send message objects (ID=0x700~0x70F). This sample code needs to work with CAN_Set_MaskFilter. Show the usage of clock fail detector and clock frequency monitor function. Implement CRC in CRC-CCITT mode and get the CRC checksum result. Implement CRC in CRC-8 mode and get the CRC checksum result. Show how to use PWM trigger DAC conversion with PDMA. Show how to use PWM trigger DAC conversion with PDMA scatter gather mode. Show how to use timer trigger DAC conversion with PDMA. Show how to use PWM trigger DAC conversion. Show how to use timer trigger DAC conversion. Show how to write a data to DAC_DAT to trigger DAC conversion. Use ADINT interrupt to do the ADC continuous scan conversion. Aug 15, 2015 Page 9 of 22 Rev 3.01.001

EADC_PDMA_PWM_Trigger EADC_PWM_Trigger EADC_ResultMonitor EADC_SWTRG_Trigger EADC_Timer_Trigger EBI_NOR EBI_SRAM FMC_ExeInSRAM FMC_IAP FMC_MultiBoot FMC_RW GPIO_EINTAndDebounce GPIO_INT GPIO_OutputInput GPIO_PowerDown Demonstrate how to trigger EADC by PWM and transfer conversion data by PDMA. Demonstrate how to trigger ADC by PWM. Monitor the conversion result of channel 2 by the digital compare function. Trigger ADC by writing EADC_SWTRG register. Show how to trigger ADC by timer. Configure EBI interface to access MX29LV320T (NOR Flash) on EBI interface. Configure EBI interface to access BS616LV4017 (SRAM) with PDMA transfer on EBI interface. Implement a code and execute in SRAM to program embedded Flash. (Support KEIL MDK Only) Show how to call LDROM functions from APROM. The code in APROM will look up the table at 0x100E00 to get the address of function of LDROM and call the function. Implement a multi-boot system to boot from different applications in APROM. A LDROM code and 4 APROM code are implemented in this sample code. Show how to read/program embedded flash by ISP function. Show the usage of GPIO external interrupt function and de-bounce function. Show the usage of GPIO interrupt function. Show how to set GPIO pin mode and use pin data input/output control. Show how to wake up system from Power-down mode by GPIO interrupt. Aug 15, 2015 Page 10 of 22 Rev 3.01.001

I2C_EEPROM I2C_GCMode_Master I2C_GCMode_Slave I2C_Master I2C_Slave I2C_SMBus I2C_Wakeup_Master I2C_Wakeup_Slave I2S_Master I2S_Slave PDMA PDMA_Scatter_Gather PDMA_ScatterGather_PingPong Buffer Show how to use I 2 C interface to access EEPROM. Show how a Master uses I 2 C address 0x0 to write data to Slave. This sample code needs to work with I2C_GCMode_Slave. Show a Slave how to receive data from Master in GC (General Call) mode. This sample code needs to work with I2C_GCMode_Master. Show a Master how to access Slave. This sample code needs to work with I2C_Slave. Show how to set I 2 C in Slave mode and receive the data from Master. This sample code needs to work with I2C_Master. Show how to control SMBus interface and use SMBus protocol between Host and Slave. Show how to wake up MCU from Power-down. This sample code needs to work with I2C_Wakeup_Slave. Show how to wake up MCU from Power-down mode through I 2 C interface. This sample code needs to work with I2C_Wakeup_Master. Configure SPI1 as I 2 S Master mode and demonstrate how I 2 S works in Master mode. This sample code needs to work with I2S_Slave sample code. Configure SPI1 as I 2 S Slave mode and demonstrate how I 2 S works in Slave mode. This sample code needs to work with I2S_Master sample code. Use PDMA channel 2 to transfer data from memory to memory. Use PDMA channel 5 to transfer data from memory to memory by scatter-gather mode. Use PDMA to implement Ping-Pong buffer by scattergather mode (memory to memory). Aug 15, 2015 Page 11 of 22 Rev 3.01.001

PWM_Capture PWM_DeadZone PWM_DoubleBuffer PWM_PDMA_Capture RTC_AlarmWakeup RTC_SpareRegisterRW RTC_TimeAndTick SC_ReadATR SCUART_TxRx SPI_Loopback SPI_MasterMode SPI_PDMA_LoopTest SPI_SlaveMode SYS_BODWakeup Capture the PWM1 Channel 0 waveform by PWM1 Channel 2. Demonstrate how to use PWM Dead Zone function. Change duty cycle and period of output waveform by PWM Double Buffer function. Capture the PWM1 Channel 0 waveform by PWM1 Channel 2, and use PDMA to transfer captured data. Use RTC alarm interrupt event to wake up system. Show how to access RTC spare registers. Get the current RTC data/time per tick. Read the smartcard ATR from smartcard 0 interface. Show smartcard UART mode by connecting PA.0 and PA.1 pins. Implement SPI Master loop back transfer. This sample code needs to connect SPI0_MISO0 pin and SPI0_MOSI0 pin together. It will compare the received data with transmitted data. Configure SPI0 as Master mode and demonstrate how to communicate with an off-chip SPI Slave device. This sample code needs to work with SPI_SlaveMode. Demonstrate SPI data transfer with PDMA. SPI0 will be configured as Master mode and SPI1 will be configured as Slave mode. Both TX PDMA function and RX PDMA function will be enabled. Configure SPI0 as Slave mode and demonstrate how to communicate with an off-chip SPI Master device. This sample code needs to work with SPI_MasterMode. Show how to wake up system form Power-down mode by brown-out detector interrupt. Aug 15, 2015 Page 12 of 22 Rev 3.01.001

SYS_PLLClockOutput TIMER_CaptureCounter TIMER_EventCounter TIMER_PeriodicINT TIMER_TimeoutWakeup UART_AutoBaudRate_Master UART_AutoBaudRate_Slave UART_Autoflow_Master UART_Autoflow_Slave UART_IrDA_Master UART_IrDA_Slave UART_LIN UART_PDMA UART_RS485_Master UART_RS485_Slave Change system clock to different PLL frequency and output system clock from CLKO pin. Show how to use the timer2 capture function to capture timer2 counter value. Implement timer1 event counter function to count the external input event. Implement timer counting in periodic mode. Use timer0 periodic time-out interrupt event to wake up system. Show how to use auto baud rate detection function. This sample code needs to work with UART_AutoBaudRate_Slave. Show how to use auto baud rate detection function. This sample code needs to work with UART_AutoBaudRate_Master. Transmit and receive data with auto flow control. This sample code needs to work with UART_Autoflow_Slave. Transmit and receive data with auto flow control. This sample code needs to work with UART_Autoflow_Master. Transmit and receive data in UART IrDA mode. This sample code needs to work with UART_IrDA_Slave. Transmit and receive data in UART IrDA mode. This sample code needs to work with UART_IrDA_Master. Transmit LIN header and response. Transmit and receive UART data with PDMA. Transmit and receive data in UART RS485 mode. This sample code needs to work with UART_RS485_Slave. Transmit and receive data in UART RS485 mode. This sample code needs to work with Aug 15, 2015 Page 13 of 22 Rev 3.01.001

UART_RS485_Master. UART_TxRxFunction UART_Wakeup WDT_TimeoutWakeupAndReset WWDT_CompareINT 1. Analog Comparator (ACMP). Transmit and receive data from PC terminal through RS232 interface. Show how to wake up system from Power-down mode by UART interrupt. Implement WDT time-out interrupt event to wake up system and generate time-out reset system event while WDT time-out reset delay period expired. Show how to reload the WWDT counter value. Aug 15, 2015 Page 14 of 22 Rev 3.01.001

8 \SampleCode\StdDriver ACMP ACMP_Wakeup CAN_BasicMode_Receive CAN_BasicMode_Transmit CAN_NormalMode_Receive CAN_NormalMode_Transmit CAN_Wakeup CLK_ClockDetector CRC_CCITT CRC_CRC8 DAC_PDMA_PWMTrigger Demonstrate how ACMP works with internal band-gap voltage. Show how to wake up MCU from Power-down mode by ACMP wake-up function. Implement receive message in Basic mode. This sample code needs to work with CAN_BasicMode_Transmit. Implement transmit message in Basic mode. This sample code needs to work with CAN_BasicMode_Receive. Implement receive message in Normal mode. This sample code needs to work with CAN_NormalMode_Transmit. Implement transmit message in Normal mode. This sample code needs to work with CAN_NormalMode_Receive. Show how to wake up system form Power-down mode by detecting a transition. Show the usage of clock fail detector and clock frequency monitor function. Implement CRC in CRC-CCITT mode and get the CRC checksum result. Implement CRC in CRC-8 mode and get the CRC checksum result. Show how to use PWM trigger DAC conversion with PDMA. DAC_PDMA_ScatterGather_PW MTrigger Show how to use PWM trigger DAC conversion with PDMA scatter gather mode. DAC_PDMA_TimerTrigger DAC_PWMTrigger Show how to use timer trigger DAC conversion with PDMA. Show how to use PWM trigger DAC conversion. Aug 15, 2015 Page 15 of 22 Rev 3.01.001

DAC_SoftwareTrigger DAC_TimerTrigger DSP_FFT EADC_ADINT_Trigger EADC_PDMA_PWM_Trigger EADC_PWM_Trigger EADC_ResultMonitor EADC_SWTRG_Trigger EADC_Timer_Trigger EBI_NOR EBI_SRAM FMC_ExeInSRAM FMC_IAP FMC_RW GPIO_EINTAndDebounce GPIO_INT GPIO_OutputInput Show how to use software trigger DAC conversion. Show how to use timer trigger DAC conversion. Demonstrate how to call ARM CMSIS DSP library to calculate FFT. Use ADINT interrupt to do the ADC continuous scan conversion. Demonstrate how to trigger EADC by PWM and transfer conversion data by PDMA. Demonstrate how to trigger ADC by PWM. Monitor the conversion result of channel 2 by the digital compare function. Trigger ADC by writing EADC_SWTRG register. Show how to trigger ADC by timer. Configure EBI interface to access MX29LV320T (NOR Flash) on EBI interface. Configure EBI interface to access BS616LV4017 (SRAM) with PDMA transfer on EBI interface. Implement a code and execute in SRAM to program embedded Flash. (Support KEIL MDK Only.) Show how to reboot to LDROM functions from APROM. This sample code set VECMAP to LDROM and reset to re-boot to LDROM. Show how to read/program embedded flash by ISP function. Show the usage of GPIO external interrupt function and de-bounce function. Show the usage of GPIO interrupt function. Show how to set GPIO pin mode and use pin data Aug 15, 2015 Page 16 of 22 Rev 3.01.001

input/output control. GPIO_PowerDown I2C_EEPROM I2C_GCMode_Master I2C_GCMode_Slave I2C_Master I2C_Slave I2C_SMBus I2C_Wakeup_Master I2C_Wakeup_Slave I2S_Master I2S_Slave PDMA PDMA_Scatter_Gather Show how to wake up system from Power-down mode by GPIO interrupt. Show how to use I 2 C interface to access EEPROM. Show how a Master uses I 2 C address 0x0 to write data to Slave. This sample code needs to work with I2C_GCMode_Slave. Show a Slave how to receive data from Master in GC (General Call) mode. This sample code needs to work with I2C_GCMode_Master. Show a Master how to access Slave. This sample code needs to work with I2C_Slave. Show how to set I 2 C in Slave mode and receive the data from Master. This sample code needs to work with I2C_Master. Show how to control SMBus interface and use SMBus protocol between Host and Slave. Show how to wake up MCU from Power-down. This sample code needs to work with I2C_Wakeup_Slave. Show how to wake up MCU from Power-down mode through I 2 C interface. This sample code needs to work with I2C_Wakeup_Master. Configure SPI1 as I 2 S Master mode and demonstrate how I 2 S works in Master mode. This sample code needs to work with I2S_Slave. Configure SPI1 as I 2 S Slave mode and demonstrate how I 2 S works in Slave mode. This sample code needs to work with I2S_Master. Use PDMA channel 2 to transfer data from memory to memory. Use PDMA channel 5 to transfer data from memory to memory by scatter-gather mode. Aug 15, 2015 Page 17 of 22 Rev 3.01.001

PDMA_ScatterGather_PingPon gbuffer PWM_Capture PWM_DeadZone PWM_DoubleBuffer PWM_PDMA_Capture RTC_AlarmWakeup RTC_SpareRegisterRW RTC_TimeAndTick SC_ReadATR SCUART_TxRx SPI_Loopback SPI_MasterMode SPI_PDMA_LoopTest SPI_SlaveMode SYS_BODWakeup Use PDMA to implement Ping-Pong buffer by scattergather mode (memory to memory). Capture the PWM1 Channel 0 waveform by PWM1 Channel 2. Demonstrate how to use PWM Dead Zone function. Change duty cycle and period of output waveform by PWM Double Buffer function. Capture the PWM1 Channel 0 waveform by PWM1 Channel 2, and use PDMA to transfer captured data. Use RTC alarm interrupt event to wake up system. Show how to access RTC spare registers. Get the current RTC data/time per tick. Read the smartcard ATR from smartcard 0 interface. Show smartcard UART mode by connecting PA.0 and PA.1 pins. Implement SPI Master loop back transfer. This sample code needs to connect SPI0_MISO0 pin and SPI0_MOSI0 pin together. It will compare the received data with transmitted data. Configure SPI0 as Master mode and demonstrate how to communicate with an off-chip SPI Slave device. Needs to work with SPI_SlaveMode. Demonstrate SPI data transfer with PDMA. SPI0 will be configured as Master mode and SPI1 will be configured as Slave mode. Both TX PDMA function and RX PDMA function will be enabled. Configure SPI0 as Slave mode and demonstrate how to communicate with an off-chip SPI Master device. This sample code needs to work with SPI_MasterMode. Show how to wake up system form Power-down mode by Aug 15, 2015 Page 18 of 22 Rev 3.01.001

brown-out detector interrupt. SYS_PLLClockOutput TIMER_EventCounter TIMER_CaptureCounter TIMER_Delay TIMER_PeriodicINT TIMER_TimeoutWakeup UART_AutoBaudRate_Master UART_AutoBaudRate_Slave UART_Autoflow_Master UART_Autoflow_Slave UART_IrDA_Master UART_IrDA_Slave UART_LIN UART_PDMA UART_RS485_Master Change system clock to different PLL frequency and output system clock from CLKO pin. Implement timer1 event counter function to count the external input event. Show how to use the timer2 capture function to capture timer2 counter value. Show how to use timer0 to create various delay time. Implement timer counting in periodic mode. Use timer0 periodic time-out interrupt event to wake up system. Show how to use auto baud rate detection function. This sample code needs to work with UART_AutoBaudRate_Slave. Show how to use auto baud rate detection function. This sample code needs to work with UART_AutoBaudRate_Master. Transmit and receive data with auto flow control. This sample code needs to work with UART_Autoflow_Slave. Transmit and receive data with auto flow control. This sample code needs to work with UART_Autoflow_Master. Transmit and receive data in UART IrDA mode. This sample code needs to work with UART_IrDA_Slave. Transmit and receive data in UART IrDA mode. This sample code needs to work with UART_IrDA_Master. Transmit LIN header and response. Transmit and receive UART data with PDMA. Transmit and receive data in UART RS485 mode. This sample code needs to work with UART_RS485_Slave. Aug 15, 2015 Page 19 of 22 Rev 3.01.001

UART_RS485_Slave UART_TxRxFunction UART_Wakeup USBD_Audio_HID_NAU8822 USBD_Audio_NAU8822 USBD_HID_Keyboard USBD_HID_Mouse USBD_HID_MouseKeyboard USBD_HID_Transfer Transmit and receive data in UART RS485 mode. This sample code needs to work with UART_RS485_Master. Transmit and receive data from PC terminal through RS232 interface. Show how to wake up system form Power-down mode by UART interrupt. Implement a USB audio class device with HID key. NAU8822 is used in this sample code to play the audio data from Host. It also supports to record data from NAU8822 to Host. Demonstrate how to implement a USB audio class device. NAU8822 is used in this sample code to play the audio data from Host. It also supports to record data from NAU8822 to Host. Show how to implement a USB keyboard device. This sample code supports to use GPIO to simulate key input. Show how to implement a USB mouse device. The mouse cursor will move automatically when this mouse device connecting to PC by USB. Demonstrate how to implement a USB mouse function and a USB keyboard on the same USB device. The mouse cursor will move automatically when this mouse device connecting to PC. This sample code uses a GPIO to simulate key input. Transfer data between USB device and PC through USB HID interface. A windows tool is also included in this sample code to connect with USB device. USBD_HID_Transfer_and_Keyb oard Demonstrate how to implement a composite device (HID Transfer and keyboard). Transfer data between USB device and PC through USB HID interface. A windows tool is also included in this sample code to connect with USB device. USBD_HID_Transfer_and_MSC Demonstrate how to implement a composite device (HID Transfer and Mass storage). Transfer data between USB Aug 15, 2015 Page 20 of 22 Rev 3.01.001

device and PC through USB HID interface. A windows tool is also included in this sample code to connect with a USB device. USBD_MassStorage_CDROM Demonstrate how to simulate a USB CD-ROM device. USBD_MassStorage_DataFlash Use embedded data flash as storage to implement a USB Mass-Storage device. USBD_Micro_Printer USBD_Printer_and_HID_Transf er Show how to implement a USB micro printer device. Demonstrate how to implement a composite device (USB micro printer device and HID Transfer). Transfer data between USB device and PC through USB HID interface. A windows tool is also included in this sample code to connect with a USB device. USBD_VCOM_and_HID_Keyboa rd USBD_VCOM_and_HID_Transfe r USBD_VCOM_and_MassStorag e Implement a USB composite device with virtual COM port and keyboard functions. Demonstrate how to implement a composite device (VCOM and HID Transfer). It supports one virtual COM port and transfers data between USB device and PC through USB HID interface. A windows tool is also included in this sample code to connect with a USB device. Implement a USB composite device. It supports one virtual COM port and one USB Mass-Storage device. USBD_VCOM_DualPort USBD_VCOM_SinglePort Demonstrate how to implement a USB dual virtual COM port device. Implement a USB virtual COM port device. It supports one virtual COM port. Aug 15, 2015 Page 21 of 22 Rev 3.01.001

Important Notice Nuvoton Products are neither intended nor warranted for usage in systems or equipment, any malfunction or failure of which may cause loss of human life, bodily injury or severe property damage. Such applications are deemed, Insecure Usage. Insecure usage includes, but is not limited to: equipment for surgical implementation, atomic energy control instruments, airplane or spaceship instruments, the control or operation of dynamic, brake or safety systems designed for vehicular use, traffic signal instruments, all types of safety devices, and other applications intended to support or sustain life. All Insecure Usage shall be made at customer s risk, and in the event that third parties lay claims to Nuvoton as a result of customer s Insecure Usage, customer shall indemnify the damages and liabilities thus incurred by Nuvoton. Aug 15, 2015 Page 22 of 22 Rev 3.01.001