04-01-2015 03:53 PM
I'm trying to use the FFTW library on a bare-metal application on Zynq. Is this possible? I've managed to cross-compile everything correctly, but I get a ton of errors in the SDK since FFTW relies on linux libraries and functions like gettimeofday() which are not available in the standard BSP.
So, am I out of luck doing this on bare-metal?
04-01-2015 06:53 PM
one direction you can do is to add dummy implementations for the missing functions. gettimeofday is not needed for the basic fft functionality; only for the case when you are asking fftw to time the system on which it's running and generate optimized c code. Depends on what else is missing but probably nothing an fft needs.
04-03-2015 12:42 AM
10-05-2015 10:05 AM
10-06-2015 02:06 AM
Hi and thank you for your answer.
I am actually searching a way to compile the FFTW library in a baremetal context too, but some informations on the way to get it compiled in a OS context might be helpful no?
Does the embedded linux environment need a host PC running a Linux OS to develop a linux application or a Windows host with Xilinx Design Tools is capable too?
10-09-2015 04:19 AM
If you're just looking for an FFT and not specifically determined to use FFTW have a look at ne10 fft http://projectne10.github.io/Ne10/ it has less dependencies than fftw and is easy to compile bare metal. I've found that using the hand assembled complex fft in ne10 is faster than fftw on zynq, for at least sizes in the range of 1024 - 4096.
10-14-2015 02:58 AM
Ok thanks joemast!
It seems to be a nice alternative to FFTW but yes in fact, well spotted, I need a way to port an algorithm which is already written and is using the FFTW library!
Anyone with another idea?
10-27-2015 04:17 AM
Just a little up message to say to people passing through, that i am still searching for a way to compile and use the FFTW library with Xilinx SDK 2015.1, with no success...
If any of you did it or something similar (any other not pre-compiled third party library used in a Zynq PS application) please let me know how. Thank you!
10-27-2015 06:51 AM
Let me repeat my original suggestion: start adding dummy implementations for the missing functions. Once the library compiles with them, look at the list and decide if any of the functions are really needed for the functionality you need. It's entirely possible that the answer is no. If yes, copy the actual behavior from an existing implementation. Anyway even if you think you need a function, run the test code and see if the basic fft function works without real implementations.