Quickstart
This guide builds the safety island firmware locally for the Arm Fixed
Virtual Platform (fvp_baser_aemv8r_smp). The produced ELF runs either
on a local FVP simulator or, more commonly, on Arm Virtual Hardware in the
cloud.
For running the full Autoware + safety island loop on AVH, follow Arm Virtual Hardware deployment after building. For real hardware on the NXP S32Z270DC2, see NXP S32Z270DC2 (real HW).
Prerequisites
Ubuntu 22.04 (validated) with Docker installed.
Enough free disk space for the development container image plus the Zephyr SDK and build artifacts.
Clone the repository
$ git clone https://github.com/autowarefoundation/autoware-safety-island.git
$ cd autoware-safety-island
$ git submodule update --init --recursive
Enter the development container
The launch-dev-container.sh script pulls and runs the
ghcr.io/autowarefoundation/autoware-safety-island:devcontainer image, which
has the Zephyr SDK, west, and the Python tooling pre-installed.
$ ./launch-dev-container.sh
All build commands below are run inside this container.
Build the Zephyr firmware
$ ./build.sh
build.sh with no arguments compiles the default FVP target. It builds the
CycloneDDS host-side IDL compiler, then invokes west build for
fvp_baser_aemv8r_smp.
The resulting binary is written to:
build/actuation_module/zephyr/zephyr.elf
Other build.sh flags are documented in Testing and NXP S32Z270DC2 (real HW).
What to do next
Deploy the firmware to an AVH instance: Arm Virtual Hardware deployment.
Run the full Autoware + safety island demo: Arm Virtual Hardware deployment (section Running the Demo).
Flash a physical S32Z board: NXP S32Z270DC2 (real HW).
Understand the runtime: Architecture and DDS topics.