Ultra96v2

The board is an Avnet Ultra96v2, which is a low-cost Zynq MPSoC development platform developed by AVNET.

AVNET maintains online material, including designs and documentation here.

Building

seL4test

Checkout the sel4test project using repo as per seL4Test

repo init -u https://github.com/seL4/sel4test-manifest.git
repo sync
mkdir cbuild
cd cbuild
../init-build.sh -DPLATFORM=ultra96v2 -DAARCH64=1
# The default cmake wrapper sets up a default configuration for the target platform.
# To change individual settings, run `ccmake` and change the configuration
# parameters to suit your needs.
ninja

Generated binaries can be found in the images/ directory.

The Ultra96v2 also supports AArch32 mode. If you choose to build the AArch32 kernel, please be sure to pass -DAARCH32=1 instead of -DAARCH64=1. This requires modifications to u-boot to execute in 32-bit mode. See the ZCU102 page for instructions.

Booting via SD Card

The ultra96v2 comes with a pre-formatted SD card. Load the sel4test-driver-image-arm-zynqmp onto the SD card, then insert the SD card into the Ultra96v2 and power on the board, dropping into the U-boot prompt. When at the prompt, type the following to run sel4test:

fatload mmc 0 0x10000000 sel4test-driver-image-arm-zynqmp
bootelf 0x10000000