cancel
Showing results for 
Search instead for 
Did you mean: 

Problems with DSP(Fourier transform)

Ann Darkhanova
Associate II
Posted on November 26, 2017 at 06:27

Dear Community,

I'm new to programming and STM32 microconrollers, though, I have to perform FFT of 50Hz voltage.

Well, after defining my core by

ARM_MATH_CM7 in arm_math.h

, I get error messages like:

Fourier\Fourier.axf: Error: L6218E: Undefined symbol arm_radix4_butterfly_f32 (referred from arm_rfft_fo).

Fourier\Fourier.axf: Error: L6218E: Undefined symbol arm_radix4_butterfly_inverse_f32 (referred from arm_rfft_fo).

Fourier\Fourier.axf: Error: L6218E: Undefined symbol arm_cfft_radix4_init_f32 (referred from arm_rfft_init_fo)

Fourier\Fourier.axf: Error: L6218E: Undefined symbol arm_cfft_sR_q15_len128 (referred from arm_rfft_init_qo).

...

Fourier\Fourier.axf: Error: L6218E: Undefined symbol arm_cfft_q15 (referred from arm_rfft_qo).

Fourier\Fourier.axf: Error: L6218E: Undefined symbol arm_cfft_q31 (referred from arm_rfft_qo).

Not enough information to list image symbols.

Not enough information to list load addresses in the image map.

Could you explain what is needed to be fixed?

I use CubeMX+Keil uVision+STM32F746NG.

Hope to hear from you soon, guys.

Ann.

Note: this post was migrated and contained many threaded conversations, some content may be missing.
17 REPLIES 17
Posted on November 26, 2017 at 17:14

Libraries\CMSIS\DSP_Lib\Source\TransformFunctions\arm_cfft_radix4_f32.c

Libraries\CMSIS\DSP_Lib\Source\TransformFunctions\arm_cfft_q15.c

Suggest you grep source to find functions which you are missing, then add source files to project when they are not within a library file.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on November 27, 2017 at 15:42

Ok, thanks! I see your point. Going to try this.  If something is wrong, I'll be back.

Posted on November 27, 2017 at 15:45

If I remember correctly, the DSP_Lib came with pre-compiled (linker) libs, usable for Keil. Not sure about the current version.

And you would need to select the proper lib version.

Posted on November 27, 2017 at 15:53

I believe there's information at the beginning of arm_math.h that may be helpful.

Posted on November 27, 2017 at 17:22

Well, I number of errors decreased to 2, and they are:

  Fourier\Fourier.axf: Error: L6218E: Undefined symbol arm_bitreversal_32 (referred from arm_cfft_f32.o).

  Fourier\Fourier.axf: Error: L6218E: Undefined symbol arm_bitreversal_16 (referred from arm_cfft_q15.o).

  These  functions are defined in arm_cfft_f32.c and arm_cfft_q15.c respectively. It's a miracle but I don't see such functions in Functions tab. What should be done next?

Posted on November 27, 2017 at 17:28

H-m-m, I haven't heard about pre-compiled libs before. Where can I get them?

Posted on November 27, 2017 at 17:29

Drivers\CMSIS\DSP_Lib\Source\TransformFunctions\arm_bitreversal2.S

Drivers\CMSIS\DSP_Lib\Source\TransformFunctions\arm_bitreversal.c

Use Grep or your favourite file manager, Keil has Find-in-Files for things within the project, so you can see where used and where defined.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on November 27, 2017 at 17:38

When first released the DSP Libraries had project and batch files, I created some makefiles for GNU/GCC and posted some prebuilt libraries.

Libraries are a collection of object files which the linker can cherry pick, you'd get the compiler to build all the individual source files, and then combine them with a librarian tool. You can do these thing using a classic understanding of Assemblers, Compilers, Linkers and Loaders, sort of stuff we learned in medieval times.

I think they stopped because there were a dozen ways to sunday to build them depending on the options/targets chosen, and so it made more sense for people to just built them themselves, or drop the prerequisite files into the project and let the linker do the dead code elimination as required.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on November 27, 2017 at 17:40

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Lib\ARM\arm_cortexM4bf_math.lib

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..