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.

Breakpoints do not halt execution on TMS570LS1114PGE

Other Parts Discussed in Thread: TMDS570LS12HDK

I'm developing software for a custom PCB using the TMS570LS1114PGE, a XDS200 debugger, and Code Composer 6.1.2.00015.  The board schematic for the JTAG interface is based on the TMDS570LS12HDK, which I started the development on.  The problem is that during debug on the custom PCB breakpoints are completely ignored.  The debugger also doesn't stop at Main upon initialization.  The code is correctly loaded, runs, and I'm able to pause execution and see where my code is stuck, but I can't use breakpoints to do any further debugging.  Breakpoints operate correctly on the TMDS570LS12HDK.

  • Hi Matthew,
    I want to make sure that the only difference is the board. The XDS200 and CCS are the same, correct?

    At the moment I don't really have a clue as to why it is not able to place breakpoints. If you can load the program and be able to pause the execution then it means that JTAG connection between the MCU and the emulator is proper in my opinion. The debugger needs to scan instructions into the CPU's debug logic to perform read/write operations to the memory and carry out the flash programming so this part is working. To setup breakpoint the debugger needs to setup the breakpoint registers inside the CPU. Unless this is not working, I can't understand why you can't place breakpoints.

    One thing to check is if you are trying to setup software breakpoints on the flash memory. Bear in mind that you can only do hardware breakpoints on the flash memory. In CCS, first go to View and select Breakpoints to bring up the breakpoint window. Inside the breakpoint window select Breakpoint (Code Composer Studio)->Hardware Breakpoint and give an address within the implemented range of the flash addresses and see if it will break there.
  • Charles,

    The debugger is smart enough to look at the memory map and know that it should set hardware breakpoints.

    When a program does this, I think of two options:

    (1) it's not getting to main() because it's getting stuck in the device initialization code.
    pause the execution - and see that the code is stuck before main().
    I think the original post though says this is not the case.

    (2) The CPU self test is run some time in the startup code, before main.
    Running the CPU self test clears all hardware breakpoints as a side-effect.
    The debugger isn't smart enough to handle this.

    Tend to think (2) is likely. It may be that the option was changed as code was generated for the new board.

    -Anthony
  • Charles,

    The setup is the same between both the custom PCB and the demo kit. I'm also adding breakpoints in the same way, by double clicking on the left hand column next to the line of code where I want the break. I will try the hardware breakpoint approach. Is there an easy way to map the Flash addressing back to the code in CCS.

    Matt
  • Hi Matt,
    Anthony has a possible reason for the cause. Do you have CPU selftest running in your code on the custom board that weren't available in your code that was run on the HDK? If you can place a breakpoint on a line and later find out that the breakpoint is removed it means there must be a reset to the CPU. Normally this is due to a CPU selftest in which case a reset is asserted at the end of the test which will wipe out the all breakpoint register settings. However, it seems like that you are not even able to double click on a line to place the breakpoints.
  • Charles,

    In my experience, the breakpoint won't show up as removed in CCS if this happens, but the breakpoint logic on the chip is cleared and therefore the code doesn't halt on any HW breakpoints after STC is run.
  • CPU Self Test was turned on and causing this behavior. Seems like that option should only be enabled for release builds. Thanks.