2024-08-30 07:17 AM - edited 2024-08-30 07:17 AM
I had been using the instructions gleaned from https://github.com/YetAnotherElectronicsChannel/STM32_CMSIS_DSP for how to use prebuilt CMSIS library for STM32F407 Discovery board.
Then I noticed https://community.st.com/t5/stm32-mcus/how-to-integrate-cmsis-dsp-libraries-on-a-stm32-project/tac-p/714554 so I wanted to update my project to use the new way to access CMSIS DSP code, so that my students will not be using an outdated method.
One thing I found onerous about the new method was having to go through every folder of code to remove or comment out <foldername>.c and <foldername>F16.c just to get the code to compile with multiple definitions complaints.
Once everything was compiling, I found that my original code didn't work any more. I had been using a 101 coefficient FIR filter on 1024 samples in each half of a DMA block. When I reduced to an 81 coefficient FIR filter, my project worked fine again. This suggests to me that the prebuilt library code was faster.
Another note: I am working in Debug mode in STM32CubeIDE. When I set the -Ofast flag, nothing about my code worked any more, not even in talk-through mode.
At KDJEM.1's suggestion, I am posting here, with my project attached, in case anyone wants to delve deeper. ADC input expected between PA1 and GND. Output from headphone jack.