I am evaluating Audio Weaver on the STM32F746 Discovery board. I programed the board using ST-Link with the file "STM32F746_Discovery_MDK_ARM.bin". I then set up a signal processing chain in Audio Weaver Designer and ran it, streaming audio from USB to line out. Sounds great. I then programed the board with "STM32F746_Discovery_SW4STM32.bin". Running the same Audio Weaver design produced choppy audio output. The same thing happens using "STM32F746_Discovery_EWARM.bin".
I recompiled the source files and programed from TrueStudio (essentially the same as SW4STM) and get the same result of choppy audio. I do not have a license for Keil MDK so I cannot recompile this code to try. If I did have a license, this would be a non-issue as I would just develop in Keil.
My Audio Weaver design is fairly busy. If I eliminate some modules it runs fine with SW4STM32.bin.
Is there some optimization that the Keil toolchain performs during compilation that isn't performed with SW4ST or EWARM? I would like to understand why the same source code produces more DSP capacities using Keil vs SW4STM/EWARM.
Below are the Audio Weaver Server displays using MDK_ARM.bin and SW4STM32.bin for the same design file running. Interestingly, the SW4STM32.bin indicates less CPU usage.