arm_bitreversal_32 - undefined reference in CMSIS DSP
I got the latest CMSIS from github and tried using the DSP code on a STM32H743ZI chip. I call three APIs which are:
- arm_cfft_f32()
- arm_cmplx_mag_f32()
- arm_max_f32()
The code compiles fine with GCC but when it comes time to link I get a 'undefined reference to arm_bitreversal_32' error which is used in the arm_cfft_f32() call. I've been all over the internet and tried many things, none of which worked. The short list of things I've tried is:
- Added -lm
- Renamed arm_bitreversal2.S to arm_bitreversal2.c
- Added -x assembler-with-cpp
- Added -mthumb
- etc, etc, etc.
Has anyone gotten GCC to link CMSIS DSP and run any FFT related code? I assume there are some compiler switches I'm missing, all of the files are there it just won't link. It seems many people all over the internet have had this problem and each 'solution' seems to be hyper tailored to that individual.
Not that this should make a difference but I'm developing my code in Visual Studio 17 with the VisualGDB plugin with my project being of type Embedded.