Files
obsw/BUILD_WITH_CMAKE.md

1.7 KiB

Requirements:

Known Issues

Ubuntu 22.04 has some version issues with the compile toolchain, consider using a newer version or other distribution or docker. Or solve the issue and add it here.

Steps

Install

  1. cmake

  2. arm-none-eabi-gcc arm-none-eabi-gcc arm-none-eabi-binutils arm-none-eabi-gdb arm-none-eabi-newlib

  3. doxygen

  4. graphviz

  5. rustup || Install using your packet manager or alternatively use the rust install script: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh (confirm default toolchain | nightly | complete | modify path variable: yes)

  6. At last: Satisfy Rust requirements

cd ../mission_rust
cargo update 
rustup toolchain install nightly
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
rustup override set nightly
cargo build -Z build-std

Build the FSBL

FSBL is the First Stage Boot Loader and prepares the CPU and FPGA configuration for booting up the Second Stage Bootloader and finally the flight software.

cd lib/sw_apps/zynq_fsbl/src
make BOARD=zed SHELL=/bin/bash

If you want, copy the fsbl.elf to the docker/compile_fsbl directory for easier access:

cp embeddedsw/lib/sw_apps/zynq_fsbl/src/fsbl.elf .

Steps

mission_rust

obsw

Clone the submodules (FreeRTOS and lwIP):
git submodule init
git submodule update
To build the obsw, run the following command

Once:

mkdir -p build
cd build

After adding a new .c file:

cmake -DCMAKE_TOOLCHAIN_FILE=../bsp_z7/cmake/arm-none-eabi.toolchain .. 

Every time

make -j 8"

The romeo-obsw binary can now be found in the build directory. The next step to deploy it is here: DEBUG_ON_ZEDBOARD.md.