Precompiled Software

The SmartHLS Team has precompiled the following software for your convenience:

  • RISC-V GNU Cross compiler (GCC 10)
  • FFmpeg 4.4
  • OpenCV 4.5.4

Please refer to Makefile Example for how to specify additional software libraries.

RISC-V GNU Cross Compiler

SmartHLS uses RISC-V GNU Cross compiler to compile the binary running on the RISC-V Microprocessor Sub-System (MSS) processor of PolarFire®. You can find the compiler at:

  • <SMARTHLS_INSTALLATION_DIR>/SmartHLS/swtools/binutils/riscv-gnu-toolchain/install/bin

FFmpeg 4.4 and OpenCV 4.5.4

The SmartHLS Team has precompiled FFmpeg 4.4 and OpenCV 4.5.4. They are used in our tutorials and are made available to the users.

You can download them here: SmartHLS Compiled Open Source Libraries

Alternatively, you can download the libraries by running <SMARTHLS_INSTALLATION_DIR>/SmartHLS/examples/scripts/utils/download_libraries.sh on a terminal (to open a terminal on Windows, please refer to Launch Cygwin terminal on Windows). The script will download and extract the libraries under <SMARTHLS_INSTALLATION_DIR>/SmartHLS/precompiled_libraries/.

The x86_64 Linux libraries and the x86_64 Cygwin libraries are required to run FFmpeg/OpenCV software on Linux and Windows respectively. The RISC-V libraries are needed for cross-compilation and have to be copied onto the board as described in the next section.

Copying Compiled Libraries onto Icicle Board

After setting up by following Icicle Kit Setup Instructions, note the IP address of the board.

On a terminal, go to the directory where you downloaded the precompiled libraries to extract the RISC-V libraries. Note that if you run the download_libraries.sh script as described above, the precompiled libraries have already been extracted automatically so you do not have to run the commands below.

tar xzpf opencv4.5.4-riscv64-linux.tar.gz
tar xzpf ffmpeg4.4-riscv64-linux.tar.gz

Now, copy the extracted precompiled libraries to your Icicle board’s /home/root/shls_sw_dependencies or a folder of your choice by using the scp command:

scp -r ffmpeg4.4-riscv64-linux root@<Icicle Board's IP>:/home/root/shls_sw_dependencies
scp -r opencv4.5.4-riscv64-linux root@<Icicle Board's IP>:/home/root/shls_sw_dependencies

All external libraries, such as FFmpeg and OpenCV, must be copied onto the board, and their references must be properly defined using Makefile Variables in Makefile.user in order for them to run properly on the board.

For Windows, if you do not want to use the Cygwin terminal, you can use external programs to do the extracting and copying steps above. For example, you can use 7-Zip to extract the precompiled libraries, and FileZilla to copy the files over to the Icicle board.