Skip to content

RHamalainen/xil-custom-sys

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xil-custom-sys

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.

Building

  • Install the cross-compiler.
    • rustup target add armv7a-none-eabi
  • Build library.
    • cargo build

List of hacks

Compiling GCC headers with Clang

  • Some of the Xilinx headers in include/ have been edited to be compilable with LLVM/Clang. The edits consist of removals of unreferenced symbols.

Linkage issue

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..

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.7%
  • Assembly 1.6%
  • Other 0.7%