Command Synopsis

sdscc | sds++ [hardware_function_options] [system_options]
           [performance_estimation_options]
           [options_passed_through_to_cross_compiler]
           [-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]
           [-debug-xrf] [-debug-xrf-cc compiler]
           [-sds-pf-path path] [-sds-image image_name]
           [-verbose] [-version] [--help] [files]

Hardware Function Options

[-sds-hw function_name source_file [-clkid clock_id_number] 
[-files hls_file_list] [-hls-target boolean_value] [-hls-target-flags "target_options"] [-hls-tcl hls_tcl_directives_file] 
[-shared-aximm] -sds-end]*

For detail on these commands, see Hardware Function Options.

Performance Estimation Options

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

For detail on these commands, see SDSCC/SDS++ Performance Estimation Flow Options.

System Options

[[-ac function_name:clock_id_number]*[-apm] [-bsp-config-file mss_file] 
[-bsp-config-merge-file mss_file][-disable-ip-cache] [-dm-sharing <0-3>] [-dmclkid clock_id_number] 
[-emulation mode] [-impl-strategy <strategy>] 
[-instrument-stub] [-maxthreads number] [-mno-bitstream][-mno-boot-files] [-rebuild-hardware] 
[-remote-ip-cache cache_directory]
[-synth-strategy <strategy>] [-trace] [-trace-buffer depth] [-trace-no-sw] [-maxjobs <number>] 
[-sdcard <data_directory>][-vpl-ini ini_file] [-xp parameter_value]]

For details on these commands, see System Options.

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

The command usage and options are identical for sdscc and sds++. Options not recognized by sds++ 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. It also generates an SD card image containing the ELF and boot files required to initialize the hardware system, configures the programmable logic, and runs 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, sds++ uses pre-built hardware when available for the target platform.

Report and log files are found in the _sds/reports folder.

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