Nuvoton NuMicro MA35D1 RTP User Manual

Numicro family arm cortex-a35- based microprocessor

Advertisement

Quick Links

MA35D1
NuMicro
®
Family
Arm
®
Cortex
®
-A35- based Microprocessor
NuMicro
Family
®
MA35D1 RTP
User Manual
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 microprocessor 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
May 30, 2022
Page 1 of 31
Rev 1.01

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the NuMicro MA35D1 RTP and is the answer not in the manual?

Questions and answers

Summary of Contents for Nuvoton NuMicro MA35D1 RTP

  • Page 1 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 microprocessor based system design. Nuvoton assumes no responsibility for errors or omissions.
  • Page 2: Table Of Contents

    MA35D1 Table of Contents 1 OVERVIEW ...................... 4 2 DEVELOPMENT ENVIRONMENT ..............5 2.1 Preliminary Preparation ....................5 2.2 Keil uVision ........................5 2.3 IAR Embedded Workbench ..................7 2.4 NuEclipse ........................10 3 DIRECTORY STRUCTURE ................16 3.1 First Level Directory Information ................16 3.2 Document ........................
  • Page 3 MA35D1 5.1.1 DDR ..........................26 5.2 SSPCC .......................... 26 5.2.1 SRAM ..........................26 5.3 WHC ..........................26 5.4 HWSEM ........................27 6 OPENAMP ..................... 28 6.1 remoteproc ........................28 6.2 RPMsg........................... 28 7 REVISION HISTORY ..................29 May 30, 2022 Page 3 of 31 Rev 1.01...
  • Page 4: Overview

    MA35D1 OVERVIEW MA35D1 is a heterogeneous microprocessor contains a dual-core Corex-A35 and a Cortex-M4. Although MA35D1 is a powerful microprocessor, executing Linux is not that suitable for handling real time event such as motor control. The Cortex-M4 becomes quite handy as a real time processor to process real time events in such scenario.
  • Page 5: Development Environment

    MA35D1 DEVELOPMENT ENVIRONMENT The RTP software package supports using Keil uVision, IAR Embedded Workbench, and NuEclipse as firmware development environment. Every sample code contains three directories holding the project file for these tools. Preliminary Preparation Before debugging, we have to use a Nu-Link2-Pro and enable the CMSIS-DAP feature by the following steps: 1.
  • Page 6 MA35D1 In “Options for Target – Linker” tab, modify “R/O Base” and “R/W Base” value shown in Figure 2-3. Figure 2-3 Linker Configuration To build the project click the “Build” icon shown in Figure 2-4. Figure 2-4 Build Keil Project In “Options for Target –...
  • Page 7: Iar Embedded Workbench

    MA35D1 Select SW adapter “Nu-Link 2 CMSIS-DAP” and check IDCODE for device connection and set AP to 0x02 shown in Figure 2-6. Figure 2-6 CMSIS-DAP Debug Settings In “Options for Target – Utilities” tab, uncheck “Update Target before Debugging” option shown in Figure 2-7.
  • Page 8 MA35D1 Figure 2-9 Open IAR Workspace Open Options to modify setting shown in Figure 2-10. Figure 2-10 Workspace Options Select Cortex-M4F or Cortex-M4 with floating point option shown in Figure 2-11. Figure 2-11 General Options May 30, 2022 Page 8 of 31 Rev 1.01...
  • Page 9 MA35D1 Click “Override default” option to edit linker configuration for debugging on SRAM address shown in Figure 2-12. Figure 2-12 Linker Options Select CMSIS-DAP driver and uncheck “Use flash loader” option shown in Figure 2-13. Figure 2-13 Debugger Options Select SWD interface for CMSIS-DAP setting shown in Figure 2-14.Figure 2-13 Figure 2-14 CMSIS-DAP Interface Setting To build the workspace click the “Make”...
  • Page 10 MA35D1 Modify “CMSIS-DAP Memory Configuration” base on SRAM address range shown in Figure 2-16. Figure 2-16 CMSIS-DAP Memory Configuration IAR will load the built image and enter debug mode after click the “Download and Debug” icon as shown in Figure 2-17. May 30, 2022 Page 10 of 31 Rev 1.01...
  • Page 11: Nueclipse

    MA35D1 Figure 2-17 Debug IAR Project NuEclipse To use open the NuEclipse project, first launch the NuEclipse tool, select “Import…” from the File menu as shown in Figure 2-18. Figure 2-18 NuEclipse Import Project The next step is to select import existing project to workspace and click “Next >” button as shown in Figure 2-19.
  • Page 12 MA35D1 Figure 2-19 NuEclipse Import Existing Project And the last step is to select the project file, and then click “Finish” button. May 30, 2022 Page 12 of 31 Rev 1.01...
  • Page 13 MA35D1 Figure 2-20 NuEclipse Select Project To Build NuEclipse project, click the build icon as shown in Figure 2-21 or use the Ctrl + B hotkey. Figure 2-21 Build NuEclipse Project Click “Debug Configuration” menu item shown in Figure 2-22. Figure 2-22 Debug Configuration May 30, 2022 Page 13 of 31...
  • Page 14 MA35D1 Double click on the “GDB Nuvoton Nu-Link Debugging” group. The Nuvoton Nu-Link debug configuration appears on the right-hand side. Figure 2-23 GDB Nuvoton Nu-Link Debugging May 30, 2022 Page 14 of 31 Rev 1.01...
  • Page 15 MA35D1 The value of GDB client port is set to 3334. Figure 2-24 GDB Client Port May 30, 2022 Page 15 of 31 Rev 1.01...
  • Page 16 MA35D1 Check the startup debug setting shown in Figure 2-25, and then click “Debug” button. NuEclipse will load the built image and enter debug mode. Figure 2-25 Startup Debug Setting May 30, 2022 Page 16 of 31 Rev 1.01...
  • Page 17: Directory Structure

    , and OpenAMP. Table 3-1 First Level Directory Document Directory Description CMSIS.html Document of CMSIS version 4.5.0. NuMicro MA35D1 RTP This document describes the usage of drivers in MA35D1 RTP Driver Reference Guide.html software package. Table 3-2 Document Directory Library Directory...
  • Page 18: Wormhole Controller (Whc)

    MA35D1 3.4.1 Wormhole Controller (WHC) Sample Name Description Demonstrate send and receive function through wormhole channel. WHC_TxRx Table 3-4 WHC Samples 3.4.2 Hardware Semaphore (HWSEM) Sample Name Description Demonstrate hardware semaphore lock and unlock function. HWSEM_LockUnlock Table 3-5 HWSEM Samples 3.4.3 External Bus Interface (EBI) Sample Name...
  • Page 19: Timer Controller (Timer)

    MA35D1 Use PDMA2 channel 5 to demonstrate memory to memory transfer PDMA_ScatterGather by scatter-gather mode. Use PDMA to implement Ping-Pong buffer by scatter-gather mode PDMA_ScatterGather_ (memory to memory). PingPongBuffer Use PDMA2 channel 2 to transfer data from memory to memory PDMA_Stride with stride.
  • Page 20: Watchdog Timer (Wdt)

    MA35D1 TIMER_ToggleOut Demonstrate the timer 2 toggle out function on pin PJ.12. Table 3-9 TIMER Samples 3.4.7 Watchdog Timer (WDT) Sample Name Description Implement WDT time-out interrupt event to wake up system and WDT_TimeoutWakeup generate time-out reset system event while WDT time-out reset AndReset delay period expired.
  • Page 21: Enhanced Input Capture Timer (Ecap)

    MA35D1 EPWM_Capture Capture the EPWM1 Channel 0 waveform by EPWM1 Channel 2. EPWM_DeadTime Demonstrate how to use EPWM Dead Time function. Change duty cycle and period of output waveform by EPWM EPWM_DoubleBuffer Double Buffer function. EPWM_OutputWaveform Demonstrate how to use PWM output waveform. Capture the EPWM1 Channel 0 waveform by EPWM1 Channel 2, EPWM_PDMA_Capture and use PDMA to transfer captured data.
  • Page 22: Smartcard Host Interface (Sc)

    MA35D1 UART_PDMA Demonstrate UART transmit and receive function with PDMA. UART_RS485 Transmit and receive data in UART RS485 mode. Transmit and receive data from PC terminal through a RS232 UART_TxRxFunction interface. Show how to wake up system from Power-down mode by UART UART_Wakeup interrupt.
  • Page 23: C Serial Interface Controller (I C)

    MA35D1 SPI_LoopBack A SPI read/write demo connecting SPI0 MISO and MOSI pins. Configure SPI0 as Master mode and demonstrate how to SPI_MasterFIFOMode communicate with an off-chip SPI Slave device with FIFO mode. This sample code needs to work with SPI_SlaveFIFOMode sample code.
  • Page 24: M-Controller Area Network (Mcan)

    MA35D1 Sample Name Description An I²S demo used to play back the input from line-in or MIC I2S_Codec interface. An I²S with PDMA demo used to play back the input from line-in or I2S_Codec_PDMA MIC interface. Table 3-21 I S Samples 3.4.19 M-Controller Area Network (MCAN) Sample Name...
  • Page 25: Analog-To-Digital Converter (Adc)

    MA35D1 Table 3-23 EADC Samples 3.4.21 Analog-to-Digital Converter (ADC) Sample Name Description Demonstrate normal ADC convert function. ADC_Convert Show how to use ADC to detect touch screen event. ADC_Touch Table 3-24 ADC Samples 3.4.22 Keypad Interface (KPI) Sample Name Description Demonstrate KPI Controller.
  • Page 26: Load Firmware For Execution

    MA35D1 remoteproc support The device tree node settings of remoteproc is also enabled: rproc { compatible = "nuvoton,ma35d1-rproc"; mboxes = <&wormhole 1>; resets = <&reset MA35D1_RESET_CM4>; status = "okay"; After starting the Linux kernel, user can load and start/stop the remote processor firmware through the sysfs interface (The sysfs filesystem is a pseudo-filesystem which provides an interface to kernel data structures).
  • Page 27: Resource Management

    MA35D1 RESOURCE MANAGEMENT In MA35D1, the only resource that is bounded with Cortex-M4 is WDT2 and WWDT2. To prevent contention, MA35D1 use System Security Memory Configuration Controller (SSMCC) to control the memory space that can access by Cortex-M4. And use System Security Peripheral Configuration Controller (SSPCC) to assign the peripherals that are controlled by Cortex-M4.
  • Page 28: Hwsem

    MA35D1 every channel can send 4 words of message each time. WHC provides a TX status register WHCx_TXSTS allowing the sender to know if the data has been read by receiver or not, a RX status register WHCx_RXSTS notify if there’s new message coming in. Besides message exchange, there’s also a WHCx_CPSTS register indicates the counterpart operating and reset status.
  • Page 29: Openamp

    MA35D1 OPENAMP remoteproc Remoteproc is a framework that allows the ARM host processor(s) to load firmware into RTP cores, start the RTP cores, stop the RTP cores, and configure resources that the RTPs might need during their execution (such as configuring and providing shared buffers in DDR memory for message passing). RPMsg RPMsg is a message passing mechanism that requests resources through remoteproc and builds on top of the virtio framework.
  • Page 30: Revision History

    MA35D1 REVISION HISTORY Date Revision Description 2022.02.27 1.00 Preliminary issued. 2022.05.30 1.01 Add KPI sample May 30, 2022 Page 30 of 31 Rev 1.01...
  • Page 31 MA35D1 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”.

Table of Contents