Wednesday, June 2, 2010

Debugging with CCS4 using XDS510USB+ for Beagleboard.

It had been a while that I had not posted anything. For more that a week since the official date for coding, I was stuck on JTAG debugging and later with RTSC wizard. Since, the problem is solved now I think it is worth mentioning here and can be useful for someone who would like to use CCS4 for debugging the stuff going around in beagleboard using XDS510USB+. I will try to eleborate the problem I faced and how I overcame it.

Problem: After I lunched the debugger, I was able to connect to the CortexA8 of the beagleboard but not to the DSP. And later not able to load my program even I could connect to the DSP.

Solution:

Updated my CCS4 to Version 4.1.2.00027

Used gel files: sdomap35xx_c64plus.gel for DSP

Beagle_Omap35xx_CortexA8.gel

Whenever I tried to connect to the DSP of beagleboard, it gave error message containing "...no cpu clock...". I knew it that the DSP is in the reset mode and it should be released from the reset mode. But the gel script to reset did not work for me. I could see 'Scripts->OMAP35xx Functions->C64xPlusRelease_FromReset'. When ever I executed this, there was no result and any message on the console. Then I modified one of the dsplink example as in http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_DSPLink_application_on_OMAP-L138_using_CCS, powered on the beagleboard, loaded the necessary modules to run the DSPLink example. Started CCS4, started the debug session. In the beagle boarad, i executed the sample example which release the DSP from reset and and keeps it in a infinite loop. On the code composer studio, I the clicked 'Connect Target'. The CCS4 was then connected to the DSP. But still I was not able to load my program. Trying to load my program gave me diffirent error message like ..DSP is in wait-in-reset mode...any some time other.

The solution to this was simply to wait. I was so desperate to test my DSP that I never bothered to wait. If I try to play with the DSP and load my program before the example code finish its execution (which took almost 2 minutes as the DSP was in infinite loop and gpp side exit with failed status), then I could not do anything after that. Any attempt to run execution and tricks was unsuccessful as I always used to try to load my program and did not wait that long. After the example is finished executing the wait was over. I could then load any program and step through.

Also, it is worth mentioning and I don't know why, after I terminate the debug session, my beagleboard is dead and I have to hard reset it to give back life.

No comments:

Post a Comment