2025-09-01 4:03 AM
Has anyone had success with the CMSIS-DSP arm_rfft_q31 or other of the M55 HELIUM MVEI/MVEF enabled CMSIS-DSP functions on the STM32N6?
Is there a functional FFT example or STM32CubeMX project available? The STM32N6 FE 1.2.0 example CORTEX-HELIUM does not seem to utilize CMSIS-DSP.
Whenever I try to utilize the CMSIS-DSP FFT-functions, I am experiencing hard fault when entering the arm_rfft_q31, function, if the M55 HELIUM MVEI/MVEF support is enabled.
My FSBL project builds successfully and I am currently using ARM_MATH_AUTOVECTORIZE as a temporary solution, with limited performance.
Please let me know for working examples, tips, or known caveats of using CMSIS-DSP with HELIUM MVEI/MVEF on STM32N6. I am looking for proof, that the STM32N6 MVEI and MVEF are functional and supported with CMSIS-DSP.
Thanks!
2025-09-02 7:28 AM - edited 2025-09-02 7:30 AM
Hello @jylho
Please refer to the example below:
CMSIS-DSP/Examples/ARM/arm_fft_bin_example at main · ARM-software/CMSIS-DSP · GitHub
Please refer to the article below to debug the hardfault:
How to debug a HardFault on an Arm® Cortex®-M STM3... - STMicroelectronics Community
2025-09-02 8:00 AM
Thanks @Saket_Om for your fast response.
I have success on using CMSIS-DSP according to the ARM provided examples, but only if the build target is cortex-m33 or by using the ARM_MATH_AUTOVECTORIZE.
The build target cortex-m55 without ARM_MATH_AUTOVECTORIZE doesn't seem to work, causing a hard fault.
It might relate to the data alignment. I will further debug the hard fault according to the knowledge base, but seems the article does not cover the STM32N6 related details like AFSR, got some details for further debugging from https://community.st.com/t5/stm32-mcus-products/stm32n6-hard-fault-when-accessing-tcm/td-p/757557
It seems I am missing some STM32N6 specific configuration in STM32CubeMX, so I would really appreciate an example of FFT utilizing M55 HELIUM, provided or supported by ST, to see that the ST provided toolchain works with MVEI and MVEF on the STM32N6.
An example project for NUCLEO or DK board would be ok, as I have both.
Thanks!