Skip to content

MaaXBoard-8ULP

Board Identification

Identifiers:

  • SOM: AES-MAAXB-8ULP-SOM-G
  • Mother board: MaaXBoard 8ULP REVA2

Yocto MACHINE: maaxboard-8ulp-welma

Documentation:

Features:

NXP i.MX 8ULP Processor

  • 2x Arm Cortex A35 (800 MHz)
  • 1x Arm Cortex M33 (216 MHz)
  • 1x HiFi 4 DSP (475 MHz)
  • 1x Fusion DSP (200 MHz)
  • 1x 3D/2D-GPU (317 MHz)

Memory

  • 768 KB shared RAM (8ULP on-chip)
  • 2 GB LPDDR4X (32-bit)
  • 32 GB eMMC memory
  • 8 MB Octal SPI PSRAM
  • 4 MB Octal SPI NOR Flash

Communications and User Interfaces

  • 10/100 Ethernet (with IEEE1588 support)
  • 801.11ac Wi-Fi and BT5 (optional)
  • U.FL External Antenna (optional)
  • 2x USB 2.0 Host and 1x USB 2.0 Device
  • MIPI DSI LCD interface
  • MIPI-CSI Camera Interface
  • Audio Codec, DMIC and Stereo Jack I/O
  • 1x User RGB LED and 3x Button Switches

Expansion, Power, Mechanical

  • 40-pin Pi-HAT expansion header
  • 16-pin MikroE Click Shuttle header
  • 6-pin WTB Header (ADC in, DAC out)
  • 10-pin JTAG/SWD debugger header
  • USB-Type C connector 5V power input

Boot Sequence

  • The ROM code loads imx-boot from eMMC.
  • The following components of imx-boot are executed:
    • U-Boot SPL
    • U-Boot
    • Arm Trusted Firmware
    • OP-TEE
    • uPower Firmware
    • S400 Firmware
    • Arm Cortex-M33 image
  • U-Boot starts the kernel
  • The kernel mounts the initial RAM file system (initramfs) and starts the init process

First Installation

The steps to do the first installation are:

  • Get a running U-Boot on the machine
  • Install the system on the eMMC

Load U-boot in RAM using UUU

  • Get UUU: uuu can generally be installed as a package of your Linux distribution.
  • Setup a tftp server on your host machine to transfer the system image

  • Connect the micro USB connector X2 of the board to host PC usb.

  • Connect an Ethernet cable between the host machine and the board maaxboard-8ulp

switch4

  • Set all the switch to off and the switch 4 (BT_ MODE0) to ON.
  • Copy the following UUU script
uuu_version 1.0.1

# @_imx-boot            | Bootloader path (tmp/deploy/images/maaxboard-8ulp-welma/imx-boot)
# @_image.wic.gz        | wic.gz image filename served via tftp
# @_host_ip             | Host Machine IP for tftp
# @_board_ip            | Board IP for tftp


SDPS: boot -f _imx-boot
FB: ucmd setenv serverip _host_ip
FB: ucmd setenv ipaddr _board_ip
FB: ucmd setenv loadaddr $fit_loadaddr
FB[-t 60000000]: ucmd tftp _image.wic.gz
FB[-t 60000000]: ucmd gzwrite $bootmedia $bootdev $loadaddr $filesize
FB: ucmd mmc partconf 0 1 0 0
FB: Done
  • Execute the command to flash the board :

sudo uuu -b uuu_script ./imx-boot welma-image.wic.gz 192.168.0.1 192.168.0.2

  • Now you are ready to perform a Regular Boot

Regular Boot

The regular boot process is done from eMMC, as follows:

switch5

  • Set all switches to off and the switch 5 (BT_ MODE1) to ON.
  • Power on the board.

Hardware Watchdog

The SOM has a hardware watchdog :

/sys/class/watchdog/watchdog0 -> ../../devices/platform/soc@0/29000000.bus/292a0000.watchdog/watchdog/watchdog0
  • Started by U-Boot (timeout 60 s)
  • Serviced by the Linux kernel (as long as no userspace process opens /dev/watchdog0 and takes over)
  • Then serviced by systemd