Exporting a Library for GCC

This chapter demonstrates how to use the sdscc/sds++ compiler to build a library with entry points into hardware functions implemented in programmable logic. This library can later be linked into applications using the standard GCC linker for Zynq®-7000 All Programmable SoCs. In addition to the library, sdscc generates a complete boot image that includes an FPGA bitstream containing the hardware functions and data motion network. You can then develop software applications that call into the hardware functions (and fixed hardware) using the standard GCC toolchains. Such code will compile quickly and will not change the hardware. You are still targeting the same hardware system and using the sdscc-generated boot environment, but you are then free to develop your software using the GNU toolchain in the software development environment of your choice.

Note: In the current SDSoC release, libraries are not thread-safe, so they must be called into from a single thread within an application, which could consist of many threads and processes.
Note: In the current SDSoC release, shared libraries can be created only for Linux target applications.