2025-11-12 9:57 PM
Hi everyone,
I’m working with STM32L010K4T6, which is based on the ARM Cortex-M0+ core.
I’d like to use FFT (Fast Fourier Transform) functions in my project, preferably within STM32CubeIDE.
However, I noticed that the CMSIS-DSP library (which provides FFT functions) seems to have limited or no direct support for the L0 series inside CubeIDE.
My questions are:
Is it possible to add and use the FFT / CMSIS-DSP library with STM32L0 series MCUs like STM32L010K4T6?
If yes, what is the recommended way to integrate it in STM32CubeIDE (manual CMSIS-DSP source import, or any ready package)?
Are there any performance or memory constraints I should be aware of when running FFT on Cortex-M0+?
Thank you in advance for any guidance!
Best regards,
Burak
Solved! Go to Solution.
2025-11-12 10:16 PM - edited 2025-11-12 10:21 PM
Hello @burak_Guzeller ,
I recommend you following these articles which may help you on how to integrate a library in an STM32CubeIDE project:
2025-11-12 10:16 PM - edited 2025-11-12 10:21 PM
Hello @burak_Guzeller ,
I recommend you following these articles which may help you on how to integrate a library in an STM32CubeIDE project:
2025-11-12 10:36 PM
I don't use Cube, and cannot comment on that.
But previously, there had been a special version of the SPL firmware package that included the DSP-libraries.
This "STM32xxx_DSP_StdPerip_Lib" contained all the DSP examples coming with the CMSIS package, including FFT examples.
I have based quite a few of my applications on such examples.
> Are there any performance or memory constraints I should be aware of when running FFT on Cortex-M0+?
Consider what you want and need it for, real-time evaluation or offline calculations.
The M0/M0+ has no FPU, so using the "f32" data types would involve a painfully slow emulation, and a significant code size penalty.
Not to mention, a shorter pipeline, reduced instruction set compared to the M3/4, and usually lower core clock.
I would recommend the 16-bit or 32-bit fixed-point variants, 'q15' or 'q31'.
2025-11-12 11:17 PM
> Ozone: ... and a significant code size penalty.
And this alone might be the show stopper, considering the L0's small flash size.
2025-11-13 12:12 AM
Yes, although that depends on the MCU variant.
But the whole soft-fp emulation code is several kilobytes.
I had mostly been experimenting with the f32 variant for real-time transforms, on M4 variants with FPU.
Very much rests on the project requirements.