## 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 ```sh 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. ```sh 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: ```sh cp embeddedsw/lib/sw_apps/zynq_fsbl/src/fsbl.elf . ``` ## Steps ## mission_rust ## obsw ##### Clone the submodules (FreeRTOS and lwIP): ```sh git submodule init git submodule update ``` ##### To build the obsw, run the following command Once: ```sh mkdir -p build cd build ``` After adding a new .c file: ```sh cmake -DCMAKE_TOOLCHAIN_FILE=../bsp_z7/cmake/arm-none-eabi.toolchain .. ``` Every time ```sh 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](./DEBUG_ON_ZEDBOARD.md).