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.

DSP/LINK debuggin on the DSP side

Hello,

we are developing some simple applications using DSP/LINK (we are using Linux for development) to transfer data back and forth between DSP and ARM (using CHNL). On the ARM side, we can use printf to do debugging output. But when we meet bugs in DSP side (e.g. we send the correct data to DSP but get wrong data back from DSP's processing), we cann't go further - printf on the dsp side doesn't work for us. I'd like to ask TI-experts if there's a simple way to output something from dsp execution. Thanks a lot!

  • If you're using Codec Engine, you can use the GT tracing feature (which formats and writes the string into memory... and then a matching ARM-side read of that memory happens and dumps it to stdout or file or whatever).  Your tracing will fall out alongside the framework's tracing, and you can use things like CE_DEBUG.

    You can just use printf() or BIOS's LOG APIs if you're connected via CCS.  printf() specifically has overhead as it communicates with CCS, so it may impact realtime performance.  LOG is much better, but I think still requires CCS to view your output.

    Chris

  • Weihua,

    You could try using a serial port to dump data if you just want to monitor some code information, DSP driver for that would be fairly simple.  We finally gave up on DSP/LINK because of the debug environment.  If you hack the ARM ubl loader to not reset the DSP and then boot Linux you can freely load DSP applications using emulated JTAG while Linux is running.  Much better debug environment and doesn't effect Linux at all.

    DSP/Link could be hacked to make it work that way as well but that is a TI task and really would be helpful for developers (let JTAG load DSP code).  From our viewpoint we had to write a simple Linux driver to handle the CHIPCFG register interrupts and communicate through shared ram.  If you look (wiki) there are ways to use DSP/Link where you can load symbols and debug DSP but that is real klunky.  Our method took a time hit initially but is only way to efficiently debug large DSP application.  Can rebuild app and reload without effecting executing Linux.

    Kev

     

  • Thank you both for your hints. We are just getting a JTAG and will see if it will help us better debugging. Thanks again.

  • Thanks, I saw it. I had some problems setting it up correctly. I just opened anther thread for it : http://e2e.ti.com/forums/t/9735.aspx

    Looking forward to suggestions!