This sys-crate links and exposes an FFI to the libxil_sf.a
static library.
libxil_sf.a
is a custom version of the board support package (BSP) provided with the course work for COMP.CE.100
.
The only difference between the Xilinx generated BSP and this one is that this one is compiled with -mfloat-abi=soft
instead of -mfloat-abi=hard
.
Caution: using this crate for a modified hardware specification may not work because a particular set of drivers is always included with a particular build of the BSP.
If you need to change the hardware definition (.hdf
) and the respective BSP specification (generated by ie. Vitis), rebuild the static library (libxil.a
) with -mfloat-abi=soft
and replace the library in the root directory of this repository (libxil_sf.a
), then replace the updated include directory at include/
at root of this repository.
- Install the cross-compiler.
rustup target add armv7a-none-eabi
- Build library.
cargo build
- Some of the Xilinx headers in include/ have been edited to be compilable with LLVM/Clang. The edits consist of removals of unreferenced symbols.
The crate currently fails to link the static library (libxil_sf.a
) right, and requires dependent binary to manually link it via -lxil_sf
from -L.
.