Command Synopsis

sdscc | sds++ [hardware_function_options] [system_options]  
[performance_estimation_options] [options_passed_through_to_cross_compiler] [-mno-ir] 
[-sds-pf platform_name] [-sds-pf-info platform_name] [-sds-pf-list] [-sds-sys-config configuration name [-sds-proc processor_name]] [-target-os os_name] 
[-verbose] [ -version] [--help] [files]

Hardware Function Options

[-sds-hw function_name file [-clkid clock_id_number] [-files file_list]   
[-hls-tcl hls_tcl_directives_file] [-mno-lint] -shared-aximm –sds-end]*

Performance Estimation Options

[[-perf-funcs function_name_list -perf-root function_name] | 
[-perf-est data_file][-perf-est-hw-only]]

System Options

[[-apm] [-disable-ip-cache] [-dm-sharing <0-3>] [-dmclkid clock_id_number] 
[-emulation mode] [-impl-strategy <strategy>] [-impl-tcl tcl_file]  
[-instrument-stub] [-maxthreads number] [-mno-bitstream][-mno-boot-files] [-poll-mode <0|1>] [-rebuild-hardware] 
[-synth-strategy <strategy>] [-trace] [-trace-no-sw]] -maxjobs <number> -sdcard <data_directory>

The sdscc/sds++ compilers compile and link C/C++ source files into an application-specific hardware/software system on chip implemented on a Zynq-7000 All Programmable SoC or Zynq UltraScale+ MPSoC.

The command usage and options are identical for sdscc and sds++.

Options not recognized by sdscc are passed to the ARM cross-compiler. Compiler options within an -sds-hw ... -sds-end clause are ignored for the -c foo.c option when foo.c is not the file containing the specified hardware function.

When linking the application ELF, sdscc creates and implements the hardware system, and generates an SD card image containing the ELF and boot files required to initialize the hardware system, configure the programmable logic and run the target operating system.

When linking application ELF files for non-Linux targets, for example Standalone or FreeRTOS, default linker scripts found in the folder <install_path>/platforms/<platform_name> are used. If a user-defined linker script is required, it can be specified using the –Wl,-T –Wl,<path_to_linker_script> linker option.

When building a system containing no functions marked for hardware implementation, sdscc uses pre-built hardware when available for the target platform. To force bitstream generation, use the -rebuild-hardware option.

Report files are found in the folder _sds/reports.

When running Linux applications that use shared libraries, the libraries must be contained in the root file system or SD card, and the path to the libraries added to the LD_LIBRARY_PATH environment variable.

Optional PL Configuration After Linux Boot

When sdscc/sds++ creates a bitstream .bin file in the sd_card folder, it can be used to configure the PL after booting Linux and before running the application ELF. The embedded Linux command used is cat bin_file > /dev/xdevcfg.