Dear TI,
In my APP the EDMA collects the data from the McAsp port of the codec using Ping-Pong buffers. When the ping buffer is full then I run DSP FFT and I process the FFT results. When I am ready then I switch to the pong buffer and do the same. (I am using the LDKC6748 dev. kit)
The APP works more or less for 25-30 seconds then it crashes. The crash means the program counter jumps out the SHRAM (0xc0000000) range and points to the unknown location in the 0x6000000 memory ranges where are NOPs only).
If I replace the DSP chip based FFT with my C language FFT function then there is no crash but the APP runs very slow.
I checked this forum for hours and I realized that – what a surprise! - I must disable the global interrupts while the DSPLIB FFT function is running. Is this true? (Not talking about the magic “interrupt tolerant but not interruptible statement”)
If I disable the interrupts the APP runs up to 1 minute but it crashes on the same way.
But, the most serious problem is: while the global interrupts are disabled the data collection part does not work. There is no display update, serial port handing, temperature and pressure measurement and other digital IO handling. Nice! This means 8-12 ms dropouts in my case.
If the above story is true then how can the C6748 processor be used for collecting data and processing it with the DSP chip? It is unbelievable, is not it?
I just can hope that this story is a bad dream only…
Louis