Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎06-20-2019

Using the SDSoC projects on other platforms

Hello everyone,

I built a project on SDSoC SDx platform and it was successful. Later, I tried to implement the same project on SDK platform. Yet, it gave me undefined reference error. The project is based on a C callable IP library(libxfft.a) and main.cpp. After I couldn't run it on SDK, I tried to run it on aarch64 by trying running the following commands(here I copied the content of main to deneme11.cpp):

aarch64-linux-gnu-g++ deneme11.cpp -lxfft -L./
aarch64-linux-gnu-g++ deneme11.cpp -Bstatic -lxfft -L./
aarch64-linux-gnu-g++ deneme11.cpp -lxfft -L./ -o xfft_config.o xfft.o
aarch64-linux-gnu-g++ deneme11.cpp -l:libxfft.a -L./


typedef uint64_t data_t;
typedef uint16_t config_t;

void xfft(data_t x[8192], data_t y[8192]);//to call accelerator
void xfft_config(config_t config[1]);//configure accelerator

int main(void)
	data_t input[N_FFT];
	data_t output[N_FFT];
	config_t var[1];

	xfft(input, output);

	return output[0];

I am creating libxfft.a as it is stated in the "Implementing FFT Accelerators with SDSoC TM Using Open-Source Software and C-Callable IP" document(page 11-12).

However, I got the following errors again:

/tmp/ccESJ6lD.o: In function `main':
deneme11.cpp:(.text+0x14): undefined reference to `xfft_config(unsigned short*)'
deneme11.cpp:(.text+0x24): undefined reference to `xfft(unsigned long*, unsigned long*)'
collect2: error: ld returned 1 exit status

From these,  what I understood is that I am not able to run the C callable library outside of the SDx platform which utilizes sds++ compiler. None of the other compilers made it possible to compile the same project that was working on SDx, including SDK. Thus, C callable term is just valid inside of the SDx and not for the other platforms.  My question is that is it possible to use the C callable library outside of the SDSoC? Am I missing something?


Tags (3)
0 Kudos
0 Replies