Hello all.
C6742
SYS/BIOS 6.34.2.18
CCS 5.5.0.00077, XDCTools 3.25.3.72, Compiler 7.4.4
DSP Lib 3.1.1.1
I have a problem with DSPF_sp_cfftr4_dif() function from the DSP Lib.
It's written that this function is "The code is interrupt-tolerant but not interruptible". But, when I'm just using it, with several frequent HWIs in background, function throws exception "Internal: Instruction fetch exception".
Actually, inside function execution branches to the NULL address - and voila!
However, surrounding the function by Hwi_disable()/Hwi_restore() removes any problems at all! So, what sort of "interrupt-tolerant" is this?? SO, PLEASE FIX OR DOCUMENTATION, OR FUNCTION's CODE, OR BOTH! Or, if this is well-know bug, because I know that 3.1.1.1 is not the latest DSP Lib version - please notify me here :) However I don't want to use latest Lib versions without strong reasons, because I already know issues of 3.1.1.1 and don't want to investigate new ones.
I'm sorry, I have not a possibility to provide more detailed information right now. If somebody will be interested, I could collect memory, registers and exception dumps. But I can say, that exception show IRP right on the "loop" label of the DSPF_sp_cfftr4_dif() code - this label can be found even in ASM sources of the function. And also, B3 points somewhere to HWI_dispatch() function address...
Also, some investigations:
My DSPF_sp_cfftr4_dif() on the 256 complex points takes less than 4 microseconds, and Hwi_disable()/Hwi_restore() pair takes averagely 15 microseconds, sometimes up to 100 microseconds. Excellent workaround, right? So I will wait for somebody's answer.