readme stuff, pls check if outdated

This commit is contained in:
Andy committed 2025-08-07 14:09:42 +02:00
1 parent a5713ac7b8
commit 1049c40f9d
2 files changed
+17 -1

No files matched your search

+1 -1
View File
@@ -73,7 +73,7 @@ The romeo-obsw binary can now be found in the `build_z7` directory. The next ste
## Linux
The obsw can also be compiled and run on linux using the gcc-posix port of FreeRTOS.
The obsw can also be compiled and run on linux using the `gcc-posix` port of FreeRTOS.
### build
+16
View File
@@ -43,6 +43,22 @@ The current working steps are:
Consider using Docker or setting up a local compile toolchain.
Please refer to [BUILD_WITH_DOCKER.md](./BUILD_WITH_DOCKER.md) or [BUILD_WITH_CMAKE.md](./BUILD_WITH_CMAKE.md).
### Compiling Annotations
Bare metal rust on the Zynq requires the use of C-libraries, which affects the compilation.
The current setup includes `cmake` which calls `cargo`to compile the rust `mission` and `framework` creates as `static libraries`.
Then, `gcc` is used to link those two libraries , the `Xilinx Board Support Packages (BSP)` (incl. all hardware drivers), and supplier libraries in the final binary.
The canocial compiler is debian bookkworm's `arm-none-eabi-gcc 12.2` using `newlib 3.3.0`.
The **minimum** set of **compiler** (not linker) **flags** (as used by Xilinx to build the First Stage Bootloader (FSBL)) are
+ hardware (HW) type: `-mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard`
+ function and data sections, to be able to garbage-collect unused code: `-ffunction-sections -fdata-sections`
+ optimization for release: `-O2`
Link Time Optimization (LTO) TBD
<!--Currently LTO is not enabled, as it might break linkage with the static STR library, TBC with STR supplier.
... to be completed ... TODO PAUL-->
## How to debug on hardware?
Please refer to [DEBUG_ON_ZEDBOARD.md](./DEBUG_ON_ZEDBOARD.md)