UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
328 Views
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./

deneme11.cpp:

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_config(var);
	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