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/AM3352: Breakpoint with "Update View" action slows the program

Part Number: AM3352

Tool/software: Code Composer Studio

I declared a global variable in ISR and set a bp on that variable in order to observe how many times is this ISR triggered dynamically.

When debugging started, the program became very slow. I guess that most of cpu resource is taken away for executing this feature.

Is debug access port the only way for real-time debug?

  • Hi Andy,

    Andy Lin94 said:
    I declared a global variable in ISR and set a bp on that variable in order to observe how many times is this ISR triggered dynamically.

    As you suspected, setting a breakpoint there would be very intrusive. The target would be halted each time to update the views. This would drastically impact your real-time performance on the target.

    Andy Lin94 said:
    Is debug access port the only way for real-time debug?

    Yes, through the DAP you can accomplish real-time (non-intrusive) memory access.

    I'm 100% sure, but I believe on the ARM, the DAP is used under the hood by the debugger when making memory accesses. So you should just be able to add that global variable in the expressions view and enable continuous refresh to see the value increment. I know this is supported on Cortex-M, but I believe it also applies to Cortex-A

    Thanks

    ki

  • Thanks, Ki.
    I made a little study on DAP, but just a little bit.
    The last thing I want to do is asking answers from you rather than studying material.
    Can you give me a answer that can DAP be supported without adding any component or changing any welding on board ?
  • Andy Lin94 said:
    Can you give me a answer that can DAP be supported without adding any component or changing any welding on board ?

    That is true. It is part of the ARM emulation logic already on the processor. CCS uses it under the hood for real-time memory accesses. You can also use it directly:

    http://dev.ti.com/tirex/#/?link=Development%20Tools%2FIntegrated%20Development%20Environments%2FCode%20Composer%20Studio%2FDebug%2FQuick%20Tips%2FHow%20to%20access%20memory%20using%20the%20DAP%20(YouTube)

    Thanks

    ki