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.

Function profiling with the XDS200 debugger for Cortex-M4

Other Parts Discussed in Thread: SYSBIOS

Hello all

I think I have a fairly simple problem.
In my project, I would like to perform profiling for functions from code. Running the code on the target hardware, of course.

I followed the configuration instructions everything works ok. I am using the XDS200 debugger. The problem arises that for the TDA Cortex-M4 processor there is no such funkcionality of profiling for functions.
According to this domument funkcionality not available for Cortex-M:
www.ti.com/.../spruhm7b.pdf

I also found profiling based on break-point posting. Unfortunately, also this funcionality in CCS is not available
www.youtube.com/watch

Using UIA, I was able to do system analysis for sysbios. The analysis results are ok - for individual application threads, but that's not what I wanted.

And here is my question:
Is there something in CCS or in UIA configuration where I could calculate what the average CPU load is for individual functions in the code? Possibly some other solution.

Kind regards, Kornel

  • Hello Kornel,

    I followed the configuration instructions everything works ok. I am using the XDS200 debugger. The problem arises that for the TDA Cortex-M4 processor there is no such funkcionality of profiling for functions.
    According to this domument funkcionality not available for Cortex-M:
    www.ti.com/.../spruhm7b.pdf

    I also found profiling based on break-point posting. Unfortunately, also this funcionality in CCS is not available
    www.youtube.com/watch

    Unfortunately the options are quite limited on the Cortex-M for your device since it relies on ETB and I believe the ETB is not available on the Cortex-M of the TDA devices.

    Using UIA, I was able to do system analysis for sysbios. The analysis results are ok - for individual application threads, but that's not what I wanted.

    And here is my question:
    Is there something in CCS or in UIA configuration where I could calculate what the average CPU load is for individual functions in the code? Possibly some other solution.

    I am not aware of anything available out of the box with CCS. The best such tooling would be with RTOS Analyzer if you are using SYS/BIOS but i don't think there is anything at the function level

    Thanks

    ki

  • Is there something in CCS or in UIA configuration where I could calculate what the average CPU load is for individual functions in the code? Possibly some other solution.

    Cortex-M does support the Statistical Function Profile in CCS, as part of SWO Trace.

    While it only samples the Program Counter at a fixed interval, it can be used to determine in which functions a running program is spending most of it's time.