forked from ROMEO/obsw
74 lines
1.7 KiB
Markdown
74 lines
1.7 KiB
Markdown
## 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). |