Tool/software:
I am using CCS version 12.8.1 to compile, assemble, link and debug code for TI Hercules processor RM48L952. The processor is running on TI's development kit for Hercules Microcontrollers.
I have been using development environment for almost a year now and it is stable and works well in all other aspects.
The final link adds threadx, which is built as a static library using ARM FuSa tool chain and ARM FuSa compiler Arm® Compiler for Embedded FuSa Version 6.16.2 LTS.
All aspects code execution in the TI CCS debugger are working properly. This is ONLY a matter of the CCS Debugger NOT DISPLAYING, while debugging ARM ASM source code in the debugger. The ARM C/C++ source code for threadx is displaying properly in the CCS Debugger.
++++++++++++++++++++++++++++
Example:
Single stepping C/C++ code from the ARM static library in CCS Debugger works OK. Execution is at entry into an ASM function in threadx static library: "threadx_XDER_611.a", executing single step ASM code into function _tx_thread_schedule():
So, after single ASM stepping, the disassembly window is is correct, but in the blank window above, we see the message from the CCS Debugger:
No source available for "_tx_thread_schedule() at C:\Users\Kip_Leitner\workspace_v12_8_1\IslandDER\Debug\IslandDER.out:{3} 0xd6e0{4}"
However, we can see that CCS has the correct disassembly in the "Disassembly" window. Also, we can see that the symbol lookup from the threadx_XDER_611.a library, for function symbol "_tx_thread_schedule() is correct, because it is showing in the "Disassembly." The only thing is, we DON'T see file content in the source code window.
Now, using readelf, I confirm the symbol cross-reference for funtion _tx_thread_schedule is present in the static library file threadx_XDER_611.a:
readelf also reports that certain data about line numbers in DWARF-3 format:
Also, the source code files are included in the debugger here:
Also, the source files are listed in CCS Debugger:
And, you can see that displaying ASM code generated by CCS HAL works fine. Just reset the processor in debugger and interrupt vectors ASM file is properly loaded by CCS Debugger: