This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TMS320C5517: I2S DMA and ASNR algorithm problem with printf

Part Number: TMS320C5517

Tool/software: Code Composer Studio

Hello everyone,

I discovered a strange behavior on my C5517 based hardware that runs beamforming example from the development kit :

http://www.ti.com/tool/TIDEP-0077 

Everything works fine except that on my custom developed hardware (that is similar as EVM), ASNR algorithm doesn't return from asnr_process function (the program blocks here). On EVM that function never blocks for the same firmware. The interesting thing that this issue disappears if no any printf is executed previously. On my custom developed hardware, running only one printf makes ASNR block the code.

The other issue with printf is regarding DMA transfer on I2S and DSP firmware loaded through SPI FLASH. If firmware runs at least one printf, I2S DMA interrupts doesn't work at all. Same firmware works with printf if loaded through JTAG (DMA ISR works, but ASNR algorithm doesn't as described above).

How the printf on C5505/5517 compiler affects the code and how it is related to JTAG? Why prints cause DMA ISR not working and ASNR algorithm blocking?

  • Hi Alexander,

    It is hard to me to reproduce the issue to debug it. Lest's focus on what are the differences between your board and EVM?

    Regards,
    Tsvetolin Shulev
  • Hi Cvetolin,
    Thanks for your support.
    The hardware is almost the same, we developed our own board based on C5517EVM but withouth SRAM that is not used for ASAR algorythm at all as well as for DMA.
    Maybe we should focus on the fact that printf causes issues with I2S DMA and with asnr processing execution. For now, workaround for us is to remove all printfs in the code. This is not big deal because printfs outputs the data only when JTAG is connected.
    But it is very misterious how printf can affect DMA or asnr function execution. Maybe internal JTAG module in C5517 that handles printfs has some colisions with DARAM buses (buffers for asar algorithm maybe) or DMA interupt circuitry ?!
  • Alexander,

    I guess the issue should be related to insufficient memory when calling 'printf' because it needs additional amount of memory when calling 'printf'. Will be a good news if work around whit comment 'printf' works.

    Regards,
    Tsvetolin Shulev