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.

Why CCS "Restart" button fails to set to the beginning of main()?

Expert 1960 points

Dear All,

I have a project which used to work all fine and started to give me all kind of issues as the code grows. For example, I always use Reset and "Restart" buttons during debug to bring the debugger to the first line of main(). But now it fails to do it, and give me error "No source available for 0x3feac2".  When I manually connect target, it gives a different error as shown below:

Can't find a source file at "/db/ztree/library/trees/xdctargets/xdctargets-h38x/src/ti/targets/rts2800/boot_cg.asm"
Locate the file or edit the source lookup path to include its location.

I don't have this folder in /db/ztree/library/trees/dxctargets..." and don't know why CCS looks for it. 

I'd appreciate it very much if anyone has suggestion on how to fix this or where to look. Many thanks!

  • Hello,

    Shef said:
    For example, I always use Reset and "Restart" buttons during debug to bring the debugger to the first line of main(). But now it fails to do it, and give me error "No source available for 0x3feac2".

    When you select "restart", the debugger will set the program counter to the entry point of your application. If you have the debugger configured to auto-run to 'main' on program load or restart, then it will run to 'main' (this is the default debugger behavior). If you have a 'main' in your application and your code no longer reaches 'main' on restart, then either the auto-run feature is disabled or there are issues with your program where it no longer can reach 'main' when the program is executed from the entry point. It is most likely the latter issue in your case since you made changes to your code. You will need to debug your program to find out why. I suggest you disable the auto-run feature (in the Debugger Options) to help with the debug.

    Shef said:

    When I manually connect target, it gives a different error as shown below:

    Can't find a source file at "/db/ztree/library/trees/xdctargets/xdctargets-h38x/src/ti/targets/rts2800/boot_cg.asm"
    Locate the file or edit the source lookup path to include its location.

    Your code is halted in the boot routine of the run time support library. Since the library was built previously in another environment, the debugger cannot find the source file to open in the editor. This is common when halted in code where the source file is not available.

    Thanks

    ki

  • Hi Ki,
    Thanks for your quick reply! I have a checkbox "On a program load or restart" checked in "Auto Run Options" in Project Properties->Debug->AUto Run and Launch Options. It did the same thing when I un-checked it, so I don't know how to debug into the code since it does not even show it is. Please let me know if there is something else I can try.

    Another thing I noticed is that, when I pressed Restart button, I saw in the "Disassebly" window it started at c_int00() briefly but quickly jumped to a line showing "ESTOP0". I suspect that it's an unhandled interrupt, but shouldn't interrupt be disabled during debugging? Confused. I'd appreciate any info or direction as I feel stuck in a tunnel. Thanks!
  • ESTOP0 is an emulation stop command. It is a type of embedded breakpoint. Searching they C2000 forums, it sounds like several people have run into similar issues in the past:
    e2e.ti.com/.../75817

    I'm not sure where it is coming from either. But it looks like it is getting stuck somewhere in boot_cg.asm. When you manually connect again, you can point the debugger to it and see where it is in that file. The file is located in your xdctools installation:
    <XDCTOOLS INSTALL ROOT>\packages\ti\targets\rts2800

    Folks in the C2000 forums may also be able to offer some clues on potential issues.

    ki