Hi Jan, We run Codec 2 half duplex (along with a bunch of other modem and FEC code) on a 180 MHz stm32 and it works just fine in real time. So your expectations are quite realistic.
The build system we use for the stm32 is in codec2/stm32/CMakeLists.txt, including C compiler flags (looks like we use -O3). We also use -O2 and -O3 on the build system for larger machines and don't have any problems. So it's probably some sort of configuration issue on your build system. A good approach is to start with something that works (e.g. our stm32 build system), then maybe move to the IDE. - David On Mon, 2023-11-20 at 14:21 +0100, Jan Ropek wrote: > Hello, > > my goal was to get Codec2 (encoding and decoding) working on > STM32F446 running on 180MHz. So, I created a new project for Nucleo > with F446RE and added Codec2 libraries to it. I compile with GCC > (using STM32CubeIDE - based on Eclipse). > > I have GCC optimization turned off and encoding and decoding works, > but the problem is that encoding one 40ms frame (320 B) takes about > 47 ms, so I am not able to use Codec2 in real-time. So, I am asking > whether my requirements are unrealistic, or have I implemented Codec2 > incorrectly? > > - I tried comparing CMSIS FFT and KISS FFT, it takes roughly the same > time. > > - When I turned on GCC optimization to O1 - encoding sped up to about > 15 ms, but during decoding, a HardFault always occurred. > > Can you please suggest what I might be doing wrong? Many thanks! > > Best regards, Jan. > > _______________________________________________ > Freetel-codec2 mailing list > Freetel-codec2@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 _______________________________________________ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2