diff --git a/BUILD_WITH_CMAKE.md b/BUILD_WITH_CMAKE.md index b6351eb..917bdf5 100644 --- a/BUILD_WITH_CMAKE.md +++ b/BUILD_WITH_CMAKE.md @@ -1,15 +1,39 @@ +## 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 +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` + + + +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 +``` + -## Requirements [TBC]: -1. `cmake` -2. `arm-none-eabi-gcc` -3. `doxygen` -4. `graphviz` If you want, copy the fsbl.elf to the docker/compile_fsbl directory for easier access: ```sh @@ -20,15 +44,6 @@ cp embeddedsw/lib/sw_apps/zynq_fsbl/src/fsbl.elf . ## mission_rust -1. 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 -``` ## obsw @@ -41,12 +56,18 @@ 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 -After adding a cmake -DCMAKE_TOOLCHAIN_FILE=../bsp_z7/cmake/arm-none-eabi.toolchain .. +``` + +Every time +```sh make -j 8" ```