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.

CCSv4 - Function and line coverage tool

1. I have a CCSv4 project built in debug mode and no optimizations. When I execute the function / line coverage tool, it produces a profile report. Is there a documentation to undertsand the fields in the report, say Inst exec count,  CPU instruction condition false etc..

2. For certain functions I observe that  though all the lines are executed (when I step through the code), the tool shows that only the start & the last line is executed and all the other lines are not executed. What could be the reason for this? How can I understand as to why the tool produced this result?

 

Can you please provide information on the two issues I am observing??

  • Hi Girish

    Girish Srinivasa said:
    1. I have a CCSv4 project built in debug mode and no optimizations. When I execute the function / line coverage tool, it produces a profile report. Is there a documentation to undertsand the fields in the report, say Inst exec count,  CPU instruction condition false etc..

    There is a wiki topic that describes the simulator events: http://processors.wiki.ti.com/index.php/Simulator_Analysis_Event_Description

    Girish Srinivasa said:
    2. For certain functions I observe that  though all the lines are executed (when I step through the code), the tool shows that only the start & the last line is executed and all the other lines are not executed. What could be the reason for this? How can I understand as to why the tool produced this result?

    Please provide the full CCS version number, the exact simulator being used, and a small test case.

    Thanks

    ki

  • The wiki topic provides information on the simulator events corresponding to the cycle profiler. But the information corresponding to the line/function coverage information fields

    say Inst exec count,  CPU instruction condition false is missing. Please point me to the explanation of these fields?

  •  

    Lee,

                    The following below is the sample code

    struct buffers{

      int ptr[4];

      int inputId;

      int isRefAvailable  ;

      int frameType;  

      int gopCycle;

    };

    struct BufferHandle{

      int readBufIdx; 

      int writeBufIdx ;

      int validCount  ;

      int size;

      struct buffers bufs[10];

    };

    void main(){

      int i ;

      struct BufferHandle handle;

      handle.readBufIdx  = 0 ;

      handle.writeBufIdx = 0 ;

      handle.validCount  = 0 ;

      handle.size = 5;

      for (i = 0 ; i < (handle.size) ; i++)

      {

        handle.bufs[i].ptr[0]  = NULL ; 

        handle.bufs[i].ptr[1]  = NULL ;

        handle.bufs[i].ptr[2]  = NULL ;

        handle.bufs[i].inputId = 0    ;

        handle.bufs[i].isRefAvailable = 1 ;

        handle.bufs[i].frameType = 0    ;  

        handle.bufs[i].gopCycle  = 0    ;

    }

     }

    The following is the snap shot of the reported problem.

    RED indicates - line not executed

    GREEN indicates that the line is executed.