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
- 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:
- 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