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.

Compiler/TMS320F28377D: CODEGEN-3923

Part Number: TMS320F28377D

Tool/software: TI C/C++ Compiler

Is there a target release for CODEGEN-3923

  • No, there is not currently a target release for this bug.

  • Please can you indicate the status of this bug. Is it being actively worked on? This issue is blocking an important area of product testing.

  • The only symptom of this bug is that the debugging information is not quite correct. The program should run correctly regardless. Can you describe how this is blocking your testing? I may be able to suggest a workaround. I suspect one would not see this symptom if you run with --opt_level=off, so that is a possible workaround.
  • We have developed a profiling tool that uses the program counter, stack pointer and stack dump to unwind the call stack. The MCU periodically dumps the PC, SP and stack over a high-speed interface for decoding on a PC. We use the debug information and the PC to determine how to unwind the stack. In this way we get complete call graph profiling information at a relatively low overhead.

    This works perfectly for integer code but falls apart as soon as we hit floating point code as we cannot successfully unwind the call graph due to the bug.

    I would be interested in hearing alternatives to obtain the full call graph and profiling information. I have already tried optimised inline hook functions at function entry and exit but the overhead for this is huge (~10% CPU).

  • Well, TI does provide the CG_XML package which can give you a static call graph. It can't show you indirect calls, but otherwise it's complete.

    processors.wiki.ti.com/.../Code_Generation_Tools_XML_Processing_Scripts

    If using the TI compiler, you can also have the compiler add profiling code to the program. This is minimally invasive; essentially, it adds a counter for each branch to show when the branch was taken and when it was not. It would in theory be possible to hook into this to get profiling information. Of course, it will still be some overhead, unlike your hardware solution.

    I won't discuss these further in this thread.

    Regarding the topic of this thread, I'll see if we can get CODEGEN-3923 bumped in priority.