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
Explorer
Explorer
6,439 Views
Registered: ‎08-26-2014

How to include assembly files to a C project in SDK?

Hello,

 

I am trying to use the NEON optimized functions from the Ne10 project in a Zynq standalone application using the SDK environment.

 

I successfully ran some C math functions (matrix multiplication, matrix inversion, determinant...) but when I try to use these same functions optimized for NEON (which are written in assembly code), after including the library files the compiler throw several errors:

 

[...]NE10header.s:19:1: error: stray '@' in program

[...]NE10_mulmat.neon.s:186:15: error: invalid preprocessing directive #load

I tried to look for a solution but I could not find anything. Does anyone know how to do it?

 

Thanks,

 

Cerilet.

Tags (4)
0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
6,400 Views
Registered: ‎08-02-2007

Re: How to include assembly files to a C project in SDK?

hi,

 

did you get a chance to look at this AR? http://www.xilinx.com/support/answers/18561.html

 

--hs

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Explorer
Explorer
6,387 Views
Registered: ‎08-26-2014

Re: How to include assembly files to a C project in SDK?

Hi,

 

yes, I found that answer, but I need to use a library written in assembler, so when I add the call to the function ne10_mulmat_4x4f_neon which links to the next line in NE10_math.h:

 

 

extern ne10_result_t ne10_invmat_4x4f_neon (ne10_mat4x4f_t * dst, ne10_mat4x4f_t * src, ne10_uint32_t count) asm ("ne10_invmat_4x4f_neon");

 

It throws the following error:

 

[...]NE10_mulmat.neon.s:186:15: error: invalid preprocessing directive #load
[...]NE10_mulmat.neon.s:199:16: error: invalid preprocessing directive #rearrange
[...]NE10_mulmat.neon.s:273:15: error: invalid preprocessing directive #store

 

It seems it is not recognizing the assembly code properly. It is been ages since I used assembly code. I add the files so you can have a look.

0 Kudos