rt-thread-official/bsp/nuvoton/numaker-hmi-ma35d1
wusongjie 8aa4366cb2 Drivers: Support Open Firmware API and model of PIC
We support OFW API to replace fdt old API, and add
IRQ, IO, Platform-Bus, CPUs ... OFW node contorl.
To support work with Device Tree or ACPI in drivers
that use IRQ, we make a programmable interrupt
controller driver's model.

Signed-off-by: GuEe-GUI <GuEe-GUI@github.com>
2023-07-05 16:45:16 +08:00
..
applications [components/drivers][touch]删除多余的touch.h (#7090) 2023-03-24 11:47:28 -04:00
board Fix building issue of Nuvoton porting. (#6833) 2023-01-11 16:26:56 +08:00
figures Add NuMaker-HMI-MA35D1 and RTP porting. 2022-10-11 08:59:42 +08:00
linking_scripts Sync upstream (#6793) 2022-12-29 15:15:13 +08:00
nuwriter_scripts Sync upstream (#6793) 2022-12-29 15:15:13 +08:00
preload format sconscript Kconfig files 2023-03-19 07:08:27 -04:00
.config Drivers: Support Open Firmware API and model of PIC 2023-07-05 16:45:16 +08:00
Kconfig format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
README.md Sync upstream (#6793) 2022-12-29 15:15:13 +08:00
SConscript Add NuMaker-HMI-MA35D1 and RTP porting. 2022-10-11 08:59:42 +08:00
SConstruct format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
rtconfig.py Sync upstream (#6793) 2022-12-29 15:15:13 +08:00

README.md

NuMaker-HMI-MA35D1

Introduction

The NuMaker-HMI-MA35D1 is an evaluation board for Nuvoton NuMicro MA35D1 series microprocessors, and consists of three parts: a NuMaker-SOM-MA35D16A81 SOM board, a NuMaker-BASE-MA35D1B1 base board and a 7 inch TFT-LCD daughter board. The SOM board integrates core components to simplify the system design, based on MA35D16A887C (BGA312 package, and stacking a 256 MB DDR), PMIC power solution, a 16 GB eMMC Flash, and two Gigabit Ethernet PHY. The NuMaker-HMI-MA35D1-S1 has rich peripherals such as 2 sets of Gigabit Ethernet, USB2.0 high-speed host and device, 2 sets of CAN FD, and SPI, I2C, UART, RS-485 serial communication ports for users to facilitate the evaluation in HMI and industrial control, home appliances, 2-wheel cluster, medical device, new energy applications, ML (Machine Learning) or your creative applications.

The NuMicro MA35D1 series is a heterogeneous multi-core microprocessor targeted to high-end edge IIoT gateway. It is based on dual 64-bit Arm Cortex-A35 cores, and one 180 MHz Arm Cortex-M4 core. Based on the high-performance cores, the MA35D1 series facilities the tiny AI/ML for edge computing. The MA35D1 supports 16-bit DDR2 and DDR3/DDR3L SDRAM. For an easy system design and manufacture, the MA35D1 series also offers LQFP and BGA packages stacked with the DDR2/DDR3L SDRAM and density up to 512 MB, which significantly reduces PCB layer, size and electromagnetic interference (EMI).

fishy

NuMaker-BASE-MA35D1B1 NuMaker-SOM-MA35D16A81 7-inch LCD Panel

fishy

fishy

fishy

NuMaker-SOM-MA35D16A81 Features

  • Target Chip
    • MA35D16A887C (BGA 312-Ball) MCP package with DDR3L (256 MB), which can run up to 800 MHz
  • Power
    • DC 5V input through the high speed connector**
    • PMIC DA9062-3A
      • Four DC/DC
      • To supply 1.2V Core power, 1.2V CPU power, 1.35V DDR3L Memory power and 3.3V I/O power
      • Four LDO
      • To supply 3.0V RTC power, 1.8V I/O power, 2.5V PLL power and 3.3V/1.8V eMMC NAND Flash power
    • Battery input header
  • Memory Devices
    • An on-board eMMC NAND Flash memory device (16 GB)
  • Two Gigabit Ethernet (RGMII) PHY devices
  • Two 120-pin high speed connectors to connect with BASE board
  • One PMIC reset key button

NuMaker-BASE-MA35D1B1 Features

  • Power
    • 5V/2A Power Jack and Slide Switch
  • Debug/Trace
    • UART0 debug port: USB Virtual COM (VCOM) port
    • Debug/Trace ports: SWJ (JTAG+SWD), ETM and SWD connectors
  • Memory Devices
    • An on-board Quad SPI NAND Flash device (512 MB)
    • An on-board NAND Flash device (1 GB)
    • Standard-SD (SD2.0) memory card slot
  • One power-on setting DIP-Switch for evaluation booting source selection
  • Two 120-pin high speed connectors to connect with SOM board
  • Two sets of Gigabit Ethernet ports: Two Gigabit Ethernet transformer devices and two RJ45 port connectors
  • Two sets of high speed USB ports: One Host/Device port and one Host port
  • Two camera capture (CMOS sensor) header connectors
  • One LCM connector to connect with 7-inch 1024x600 LCD daughter board
  • One audio codec with microphone input and speaker output
  • One SIM card slot
  • One External Bus Interface (EBI) header connector
  • Two sets of UART transceivers and DB9 connectors
  • Two sets of RS485 transceivers and header connectors
  • Two sets of CAN FD transceivers and header connectors
  • One 8-channel ADC header connector
  • MEMS Microphone
  • MEMS G-Sensor
  • Three user key buttons
  • Two user LEDs
  • One set of buzzer pads

Supported compiler

Support GCC compiler. More information of these compiler version as following:

Compiler Tested version
GCC Arm Embedded Toolchain 10.3-2021.10 (Env 1.3.5 embedded version)

Build RT-Thread

You can build rt-thread.bin for NuMaker-HMI-MA35D1 board. Steps as following. Notice, the building will include ma35-rtp/rtthread.bin file into numaker-hmi-ma35d1/rtthread.bin for heterogeneous multi-core demonstration.

# cd rt-thread/bsp/nuvoton/numaker-hmi-ma35d1
# menuconfig --generate
# scons -c
# pkgs --update
Cloning into '<Path-to-rt-thread>\bsp\bsp\nuvoton\numaker-hmi-ma35d1\packages\LVGL-latest'...
remote: Enumerating objects: 67821, done.
remote: Counting objects: 100% (1085/1085), done.
remote: Compressing objects: 100% (608/608), done.
remote: Total 67821 (delta 512), reused 964 (delta 476), pack-reused 66736
Receiving objects: 100% (67821/67821), 109.32 MiB | 572.00 KiB/s, done.
Resolving deltas: 100% (52349/52349), done.
Updating files: 100% (1248/1248), done.
==============================>  LVGL latest is downloaded successfully.
...
==============================>  OPTPARSE latest is downloaded successfully.
==============================>  wavplayer update done
==============================>  ramdisk update done
==============================>  optparse update done
Operation completed successfully.

# scons -j 16
…
…
LINK rtthread.elf
arm-none-eabi-objcopy -O binary rtthread.elf rtthread.bin
arm-none-eabi-size rtthread.elf
   text    data     bss     dec     hex filename
1208928   14828 15507944        16731700         ff4e34 rtthread.elf
scons: done building targets.

<Path-to-rt-thread>\bsp\nuvoton\numaker-hmi-ma35d1\rtthread.bin

Program firmware using NuWriter

To switch SW4 dip-switch on NuMaker-BASE-MA35D1B1 to do corresponding actions as below.

Power-on Setting L: OFF dip-switch H: ON dip-switch

Memory Storage Burn to settings Boot from settings
DDR
  • Switch 1(PG0) to ON.
  • Switch 3(PG2) to ON.
  • Switch 4(PG3) to ON.
  • Switch Others to OFF.
EMMC
(Select eMMC1 device and 8-bit mode)
  • Switch 1(PG0) to ON.
  • Switch 3(PG2) to ON.
  • Switch 4(PG3) to ON.
  • Switch 7(PG6) to ON.
  • Switch 8(PG7) to ON.
  • Switch Others to OFF.
  • Switch 1(PG0) to ON.
  • Switch 3(PG2) to ON.
  • Switch 7(PG6) to ON.
  • Switch 8(PG7) to ON.
  • Switch Others to OFF.
Raw NAND
(Select Ignore BCH and Page setting)
  • Switch 1(PG0) to ON.
  • Switch 3(PG2) to ON.
  • Switch 4(PG3) to ON.
  • Switch Others to OFF.
  • Switch 1(PG0) to ON.
  • Switch 4(PG3) to ON.
  • Switch Others to OFF.
Serial NAND
(Select 4-bit mode)
  • Switch 1(PG0) to ON.
  • Switch 3(PG2) to ON.
  • Switch 4(PG3) to ON.
  • Switch 7(PG6) to ON.
  • Switch Others to OFF.
  • Switch 1(PG0) to ON.
  • Switch 7(PG6) to ON.
  • Switch Others to OFF.

Download to DDR and Run

You can run windows batch script to download rtthread.bin into memory, then run it. The path of batch script as below.

<path-to-rtthread>\bsp\nuvoton\numaker-hmi-ma35d1\nuwriter_scripts\nuwriter_ddr_download_and_run.bat

Burn to EMMC

You can run windows batch script to download rtthread.bin into emmc flash, then run it. The path of batch script as below.

<path-to-rtthread>\bsp\nuvoton\numaker-hmi-ma35d1\nuwriter_scripts\nuwriter_sd_programming.bat

Burn to Serial NAND

You can run windows batch script to download rtthread.bin into SPI-NAND flash, then run it. The path of batch script as below.

<path-to-rtthread>\bsp\nuvoton\numaker-hmi-ma35d1\nuwriter_scripts\nuwriter_spinand_programming.bat

Burn to Raw NAND

You can run windows batch script to download rtthread.bin into Raw NAND flash, then run it. The path of batch script as below.

<path-to-rtthread>\bsp\nuvoton\numaker-hmi-ma35d1\nuwriter_scripts\nuwriter_nand_programming.bat

Test

Connector on board Wiring Usage
VCOM(CON21) Use an USB line rt-thread@CA35 Console
RS232_16(CON14) Using an USB to RS232 convert rt-thread@RTP Console

You can use Tera Term terminate emulator (or other software) to type commands of RTT. All parameters of serial communication are shown in below image. Here, you can find out the corresponding port number of Nuvoton Virtual Com Port in window device manager.

fishy


Purchase

Resources