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 "no source available" while debugging codec on DSP using Codec Engine

Guru 10685 points

I want to debug my algorithm that is contained  in a codec server running on the C674x DSP part of my DM8168. I am controlling the algorithm from the ARM side of the processor using a codec engine application.

I've followed the instructions under "Algorithm Debugging" here: http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_CE_application_on_DaVinci_using_CCS and edited my source lookup to include the folder where the codec source code exists.

I set a hardware/software breakpoint (either has the same effect) in my codec _process function and then press a key on the ARM serial terminal and the DSP halts correctly however it cannot lookup the source correctly. I find this bizarre given that the codec has clearly found the breakpoint I set in the codec source file that I have opened in CCS, yet it cannot match the disassembly to the C source.

The exact error I get when the breakpoint in the algorithm is reached is this:

No source available for "TESTPATTERN_MYCOMPANY_process(struct IUNIVERSAL_Obj *, struct XDM1_BufDesc *, struct XDM1_BufDesc *, struct XDM1_BufDesc *, struct IUNIVERSAL_InArgs *, struct IUNIVERSAL_OutArgs *) at 0x99540da0"

I have the breakpoint in my _process function which is what the message refers to.

What am I doing wrong?

Thanks,

Ralph

  • Hi Ralph,

    _Ralph_ said:
    No source available for "TESTPATTERN_MYCOMPANY_process(struct IUNIVERSAL_Obj *, struct XDM1_BufDesc *, struct XDM1_BufDesc *, struct XDM1_BufDesc *, struct IUNIVERSAL_InArgs *, struct IUNIVERSAL_OutArgs *) at 0x99540da0"

    Normally it would give a specific source file name also and you can then browse to the source file. In this case, there is no mention of a source file. Is there something specific to this function? Is it an inline function? Does it open up the source file for other functions?

    Thanks

    ki

  • Yes, it mentions the function name. Here is a screenshot of my CCS environment at the time that the breakpoint is hit:

    It isn't an inline function. The function prototype is:

    XDAS_Int32 TESTPATTERN_MYCOMPANY_process(IUNIVERSAL_Handle h,
                                                         XDM1_BufDesc* inBufs, XDM1_BufDesc* outBufs, XDM1_BufDesc* inOutBufs,
                                                         IUNIVERSAL_InArgs* universalInArgs,
                                                         IUNIVERSAL_OutArgs* universalOutArgs)

    If I put a breakpoint in the _control function, which is called before the _process function in the application, the same thing happens as before. It says "No source available" and doesn't find the source file, however the disassembly shows that CCS has halted the debugging at the start of the _control function which corresponds to the function where I placed the breakpoints, but not the precise position - I have the breakpoints set mid-way through the function, not at the start. I have tried both hardware and software breakpoints.

    Ralph

  • Does anyone out there have any suggestions? Has anyone managed to debug codec engine algorithms on a heterogeneous processor like the DM8168?

    Ralph

  • Try doing Project/Clean

    Repeat whenever something hangs or otherwise doesn't work right.