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 6.1.3 doesn't always resolve source code location for GCC assembler files

Other Parts Discussed in Thread: 66AK2H12, AM4378

In a SYS/BIOS project for a Cortex-A15 added a modified boot.S assembler source file to the CCS 6.1.3.00033 project, where the boot.S assembler source file contains the entry point. In the CCS project properties, unticked the option to auto-run to main on a program load to be able to step through the start-up code.

When started the debug session, and stopped at the entry point CCS correctly resolved the boot.S source code location in the stack backtrace, editor and disassembly windows:

When stepped a single instruction the stack backtrace and editor windows then no longer were able to resolve the source code location for the program counter, which was still in the boot.S file. After the initial instruction step the disassembly window still showed intermixed source code but when caused a re-fresh of the disassembly window the intermixed source code disappeared:

A breakpoint was set in the boot.S source file, and the program free-run. When the breakpoint was hit the stack backtrace and editor windows were unable to resolve the source code location for the program counter address 0x8005238. However, looking at the breakpoint properties shows the breakpoint manager has managed to resolve the source code location for the address 0x8005238:

If the breakpoint manager in CCS 6.1.3 can resolve an address to an assembler source code location, should the stack backtrace and editor windows also be able to the resolve the source code location?

For reference, the project for an EVMK2H is attached semihost_66AK2H12_CortexA.zip

  • Chester Gillon said:
    For reference, the project for an EVMK2H is attached (Please visit the site to view this file)

    I have repeated the same symptoms with the simpler example of a hello world example from an AM4378 also using CCS 6.1.3 and GNU compiler v4.9.3.

    When started a debug session and halted at the entry point the stack backtrace, editor and disassembly windows correctly resolved the assembler source code location:

    The above also shows that there is a breakpoint set on line 120 of the startup_ARMA9.S source file. When the program was free run, after the breakpoint was reached the stack backtrace and editor windows were unable to resolve the program counter address of 0x80000058 to the source code location:

  • Chester,

    Thanks for taking the time to provide such detailed description. I can reproduce the same scenario and filed the bug number CCBT-1971 today.

    I tested a few combinations of debug probes (XDS200, BH560) and CCS releases (6.1.3, 6.2.0 pre-release), as well as adding the .func/.endfunc pair, as well as .global in several places to see if the IDE would "get it", but the source code correlation and the stack frame information were still absent.

    I apologize for the inconvenience,
    Rafael