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.

dm6467 debug the dsp side using ccs 3.3



Hello, everyone,

I am now doing algorithm debugging using ccs on DM6467.

I follow the instructions in the website,  just follow the "Algorithm Debugging" part,

http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_CE_application_on_DaVinci_using_CCS

My super terminal information is as follows:

Then I open CCS 3.3 and do the algorithm debugging, I right click on the C6400PLUS_0 and click the Connect Device, but some errors appeared:

Could someone tell me how to solve the problem?

Thank you!

  • From your terminal, it looks like the app has completely finished, so the DSP is likely back reset (and you won't be able to connect to it).

    For background, in an environment like DM6467, the ARM-side Engine_open() will load the DSP and start it running.  Immediately after Engine_open() returns, you should make sure your app doesn't continue(!), and connect to the DSP.  If you fail to block the ARM immediately after Engine_open() returns, and let the app continue to Engine_close(), the DSP will be placed back in reset and CCS will not be able to attach.

    As that article says, you could put a getchar() after Engine_open() to ensure you can connect... then set your breakpoints in CCS and press any key in your ARM-side app so getchar() returns and the app continues to your DSP-side breakpoints.

    Alternatively (and probably easier!), if you're using CE 2.00 or later, you can set the environment variable CE_DSPDEBUG=1, which will cause CE internally to call getchar() at 'the right time' during Engine_open() and you can connect then.  Using this approach, you don't even have to modify the ARM-side app.

    A tip for once you get CCS connected, I like to make sure I cleanly _disconnect_ before Engine_close() is called so CCS isn't 'surprised' when Engine_close() is called and the DSP is reset.

    Chris

  • Hi Chris,

    I succeeded in connecting DSP using CCS.

    In your reply, I learn it seems that the default DSP state is reset, the Engine_open API converts it to "active", the Engine_close API turns it back to reset.

    Can I change the default state of DSP to "active"? so that I can connect the DSP without waiting the ARM-side Engine_open to be invoked.

    If the change is possible, how to do it?

    In addition, I don't understand

    "I like to make sure I cleanly _disconnect_ before Engine_close() is called so CCS isn't 'surprised' when Engine_close() is called and the DSP is reset"

    could you explain the details of your like?

    Thank you very much!

    Zhiqiang