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
Observer mjdbishop
Observer
5,819 Views
Registered: ‎03-25-2009

NE10 Zynq SDK 2016.3 arm_neon.h blues

NE10 from github

Zynq library cookery and (dated) general guidance from http://www.wiki.xilinx.com/Zynq-7000+AP+SoC+Spectrum+Analyzer+part+2++-+Accelerating+Software+-+Building+ARM+NEON+Library+Tech+Tip

-mfloat-abi=softfp -mfpu=neon incantations from the internet : they "define" __ARM_NEON__ and effect the substantive inclusion of arm_neon.h, thence the neon types float32_t, float32x4_t etc

 

1) the NE10 library builds

2) linking to the NE10 library generates unresolved references to NE10s nooks and crannies e.g. ne10_mixed_radix_generic_butterfly_float32_neon_c

3) building a toy application, no more than #includes, with linked NE10 sources implodes as arm_neon.h fails to declare float32x4_t in "some" routines - the -m incantations have been made, also include paths have been provided

 

Is a current pre-built library or updated cookery instructions available ?

 

Are these issues finger trouble, SDK bugs or ...

 

Fixes anyone ?

 

VMTiA B

 

0 Kudos
6 Replies
Explorer
Explorer
5,797 Views
Registered: ‎10-14-2015

Re: NE10 Zynq SDK 2016.3 arm_neon.h blues

Hi @mjdbishop,,

 

May helps this wiki design:

 

http://www.wiki.xilinx.com/Zynq-7000+AP+SoC+Spectrum+Analyzer+part+2++-+Accelerating+Software+-+Building+ARM+NEON+Library+Tech+Tip

 

Thanks,

Sarada

 

----------------------------------------------------------------------------------------------
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
Observer mjdbishop
Observer
5,773 Views
Registered: ‎03-25-2009

Re: NE10 Zynq SDK 2016.3 arm_neon.h blues

saradapr

 

Thank you for your suggestion.  However, that TechTip is the one I had already referenced in my post.  Additionally, there are older TechTips, as additional noise.  The TechTips last update was of course over two years ago.

 

For clarity, my to do list includes:

- code for a short FFT (1 ki pt) : FWIW a textbook implementation in C takes ~1.2 ms (CRO measurement).  Scaled to 4 ki pt that is 5.3 ms, the 571 us of the NEON implementation is desirable.

- setting to work Ne10 on a bare metal / standalone Zynq (my priority)

- stw Ne10 on Linux / Zynq (the distros target environment)

 

Any further guidance or assistance towards these objectives would be appreciated.  idc I shall re-attempt a (clean) workspace build of the Ne10 library, test suite and a simple example.

 

Best Regards B

 

 

0 Kudos
Observer mjdbishop
Observer
5,634 Views
Registered: ‎03-25-2009

Re: NE10 Zynq SDK 2016.3 arm_neon.h blues

OK : Ne10 runs on Zynq / Zybo, many tweaks missing from the apps notes later.

 

0) The BSP has to be built -mfloat-abi=softfp -mfpu=neon to effect compatibility between bsp (library) and application modules at link time.

 

1) Assembler, compiler and linker settings have to be -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=neon to ensure the instantiation of arm_neon.h and its payload of types.

 

2) A plethora of includes for the Ne10 modules require to be configured appropriately for assembler, compiler and build configuration.

 

3) On a bare metal c implementation some mixed radix cpp fft code does not find its targets : commented out - not currently required.

 

4) Stubs for _write _read and _close are required, possibly printfs in Ne10 or ...

 

To date testing has been limited C2C and R2C ffts of length 2^N.

 

My impression is that the test suite, not stw, has not been shimmed for use on bare metal / c.

 

Any greater wisdom would be welcome.

 

Martin

0 Kudos
Visitor mdvankar1990
Visitor
3,078 Views
Registered: ‎08-09-2017

Re: NE10 Zynq SDK 2016.3 arm_neon.h blues

Hello sir,

Can u tell me if I can build it using 2013.2 SDK?

 

0 Kudos
Observer mjdbishop
Observer
3,062 Views
Registered: ‎03-25-2009

Re: NE10 Zynq SDK 2016.3 arm_neon.h blues

Hi mdvankar1990

* The narrow answer to your question is that I don't know

* A broader answer is that all I have provided is an existence theorem by elaboration : it works ...

* If you have to use SDK 2013.2 the only way forward is to work the problem

* A more recent SDK may have fewer issues, greater maturity wrt your target

* If you only require a few DSP routines extracting the source should work well

Finally, DIY Neon assembler will provide a solution (view NE10 as examples)

HtH  Martin

0 Kudos
Visitor mdvankar1990
Visitor
2,684 Views
Registered: ‎08-09-2017

Re: NE10 Zynq SDK 2016.3 arm_neon.h blues

Thank you for reply sir.
I have used it and successfully run up to spectrum analyzer 4 example. but I am failing to understand linux based interaction of fft ip. Is driver require or mmap() function is ok to use in optimizing system?
0 Kudos