Thanks for the help Brad,
I seems that I've fixed my problem of an unstable STFT function, I am now using the same code that I posted in a previous post except that I've changed my custom radix 2 FFT function with DSPF_sp_cfftr4_dif from DSPLIB, but included it in my project as an asm file with the change you suggested above.
[quote user="Brad Griffis"]
[quote user="Jack Harris1"]You'll see another problem with this code is that it's restricted to an FFT length of 128, if I change it to anything larger the code is very unstable.[/quote]
No, this code needs to be <=16k. Where did 128 come from? Since this is a radix 4 FFT your input must be a power of 4, i.e. 64 and 256 are valid sizes but 128 is not.
[/quote]
My custom FFT function was a radix 2 FFT algorithm (which was very flakey to say the least). Now changed the length 1024 with a radix 4 algorithm from DSPLIB.
[quote user="Brad Griffis"]The .bss section is where global variables are stored. You apparently have more than 32 KB which is very unusual. By default the memory model uses "far aggregate" which places all structures and arrays into far memory since those are usually the "big ones". Normally everything else fits into 32KB. Is there something you're doing that's making .bss so large? You might start a separate thread for that one in the compiler forum as this particular thread is overflowing with stuff going on.[/quote]
Though I've solved my initial problem, I still have instability issues, and I suspect this could be the problem along with a few other things, I'll start a new thread.