Closed jerabaul29 closed 3 years ago
PS: I think the main repo for CMSIS is:
https://github.com/ARM-software/CMSIS_5/tree/master
And it looks like the missing functions are located here:
https://github.com/ARM-software/CMSIS_5/tree/master/CMSIS/DSP/Source/TransformFunctions
Though there are many more categories of functions available that may be useful for some other users:
https://github.com/ARM-software/CMSIS_5/tree/master/CMSIS/DSP/Source
Not sure how you may want to make these available / distribute in this repo. Also not sure if you may want to distribute directly the sources, or some compiled / optimized binaries.
@jerabaul29 Were you ever able to get this working? Have you tried making this as just an mbed example? Is the problem exclusive to Arduino?
I have given up on this, as I got no help from the CMSIS folk ("we do not support all platforms") and I got lost in the stacks of software and did not understand where / how to include it. Instead, for now, I used an ugly workaround: using kissfft. This is very suboptimal, but given the time I had, this was the best compromise.
If you would have the possibility to "add" the CMSIS functions / make them easily available to the core, and show a few examples, would be awesome. I think this would be useful to many people, as these are plenty of basic functions that are needed all the time.
I have also tried to build these by hands, but with no success. Just wrote an issue discussing my problems, here:
PS: one more possible workaround that I did not had time to try: using some old pre-built stuff:
https://github.com/ARM-software/CMSIS/blob/master/CMSIS/Lib/GCC/libarm_cortexM4l_math.a
as discussed in https://forums.mbed.com/t/cmsis-dsp-support-forthcoming/8465/2
But I must say I am completely confused by all of this; if you can have a look at how to get this DSP thing available on the core it would be great.
@Wenn0101 after discussing at https://github.com/ARM-software/CMSIS_5/issues/1138 it looks like:
However, if you can with some help from the ARM team 1) compile the CMSIS for the MCU once and for all, 2) provide the pre-compiled binaries as a library, I think that may be really great :) .
Yeppii, not sure what the reason is, probably some fixes related to #325, but now this is working :) . Amazing, finally able to take FFTs in my programs without using external libraries :) .
Closing.
PS: if this is of interest, I put a small example of how to take a real FFT with the core v1.2.1 here: https://github.com/jerabaul29/Artemis_MbedOS_recipes/blob/main/recipes/recipe_CMSIS_FFT_fft_init/recipe_CMSIS_FFT_fft_init.ino . Works like a charm :) .
I am trying to take some FFTs in a program. If I understand well, MbedOS uses the CMSIS hal for providing FFT functionalities. I try to do something like this:
However, I get a linker error:
And indeed I cannot find the implementation of these functions in the corresponding folder.
Is something missing in the core distribution / is there something I can do to be able to take these FFTs / am I trying to do this in the wrong way?