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.

What meaning in CCS simulator profiling?

Hi,

I am using Profiling on "Collect Code Coverage and Exclusive Profile Data" function with C6747 project. My comuter runs on Windows 7 OS, CCS v5.2 installed. At the results of Line Coverage, there are "CPU instruction decoded", "CPU instruction condition false", "Cycle Total", "Cycle CPU" etc. What meanings are for these terms? Is there a link for them?

Regards,

  • Here is an example of the profiling results. What can I get from it? As a start point, I would like to get some opinion from an experience user. This profiling result is good, or not? My linker command file is also attached for the purpose.

     

     

    Thanks

    MEMORY

    {

        DSPL2ROM    

    o = 0x00700000  l = 0x00100000 /* 1MB L2 Internal ROM */               

        DSPL2RAM    

    o = 0x00800000  l = 0x00040000     /* 256kB L2 Internal RAM */             

        DSPL1PRAM   

    o = 0x00E00000  l = 0x00008000     /* 32kB L1 Internal Program RAM */       

        DSPL1DRAM   

    o = 0x00F00000  l = 0x00008000     /* 32kB L1 Internal Data RAM */          

        SHDSPL2ROM  

    o = 0x11700000  l = 0x00100000     /* 1MB L2 Shared Internal ROM */        

        SHDSPL2RAM  

    o = 0x11800000  l = 0x00040000     /* 256kB L2 Shared Internal RAM */      

        SHDSPL1PRAM 

    o = 0x11E00000  l = 0x00008000     /* 32kB L1 Shared Internal Program RAM */

        SHDSPL1DRAM 

    o = 0x11F00000  l = 0x00008000     /* 32kB L1 Shared Internal Data RAM */   

        EMIFASDRAM  

    o = 0x40000000  l = 0x08000000     /* 64MB SDRAM Data (CS0) */             

        EMIFACS2    

    o = 0x60000000  l = 0x02000000     /* 32MB Async Data (CS2) */             

        EMIFACS3    

    o = 0x62000000  l = 0x02000000     /* 32MB Async Data (CS3) */             

        EMIFACS4    

    o = 0x64000000  l = 0x02000000     /* 32MB Async Data (CS4) */             

        EMIFACS5    

    o = 0x66000000  l = 0x02000000     /* 32MB Async Data (CS5) */             

        SHRAM       

    o = 0x80000000  l = 0x00020000     /* 128kB Shared RAM */

        EMIFBSDRAM  

    o = 0xC0000000  l = 0x10000000     /* 256MB SDRAM Data */                  

    }                                                                      

    SECTIONS

    {

       

    .text          >  SHRAM

       

    .stack         >  SHDSPL2RAM

       

    .bss           >  SHRAM

       

    .cio           >  SHRAM

       

    .const         >  SHRAM

       

    .data          >  SHRAM

        .switch        >  SHRAM

       

    .sysmem        >  DSPL2RAM

       

    .far           >  SHRAM

        .args          >  SHRAM

        .ppinfo        >  SHRAM

        .ppdata        >  SHRAM

     

       

    /* COFF sections */

       

    .pinit         >  SHRAM

       

    .cinit         >  SHRAM

     

       

    /* EABI sections */

        .binit         >  SHRAM

        .init_array    >  SHRAM

        .neardata      >  SHRAM

        .fardata       >  SHRAM

       

    .rodata        >  SHRAM

        .c6xabi.exidx  >  SHRAM

        .c6xabi.extab  >  SHRAM

    }

  • Now, I would like to know how many cycles need to run the total program, or a specific function. Can I get that from the picture data?

    The fourth row shows: cycleTotal:16,496,384, cycleCPU:1,430,407. cycleTotal is the needed number for the fourth function?  I don't know what the relationship between these two numbers.

    Thanks.

     

  • Hi Robert,

    Sorry for the delayed response.

    Robert W said:
    At the results of Line Coverage, there are "CPU instruction decoded", "CPU instruction condition false", "Cycle Total", "Cycle CPU" etc. What meanings are for these terms? Is there a link for them?

    http://processors.wiki.ti.com/index.php/Simulator_Analysis_Event_Description

    Support for profiling on C6000 simulators is quite good. Many customers using the C6000 simulators have found the profiling support very useful.

    Thanks

    ki