DSPRelated.com
Forums

using icache on c5502

Started by adit...@gmail.com September 25, 2006
Hello all

I am trying to run two channels of G.729 vocoder on the c5502 processor. The processor is running at 300 MHz and the external SDRAM ( synchronous interface with the EMIF ), is running at 100 MHz.

The complete code (.text) section of G.729 is placed in the external memory. All other sections like the .stack, .const, .cinit, .data are placed inside the inernal memory.

I have enabled the icache. A single cahnnel G.729 loopback works well. ie I am able to perform the encoding and the decoding for a single channel with in two DMA interrupts which are 10 msec apart. However, when I enable the second channel too, there is distortion in the voice.

How can i improve the performance of the code by more efficiently using the icache. I cannot change the code. How can i change the placement of the code in the external memory, so that i can use the cache more efficiently?

Thank You

Aditya
VirtualWire Technologies
IIT Delhi