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.

Individual Threads in DSP Bios Tools Execution Graph?

Other Parts Discussed in Thread: SYSBIOS

Hi,

When I am looking at the DSP Bios Tool Execution Graph, trying to determine how much time is spent in my tasks, all I get is time for idle task and 'other' threads along with the usual swi time, etc. 

Is there a way I can get the execution tool to display individual threads in the graph and show how much time was being spent in each thread?

Thanks,

 

  • The execution graph should list all of your TSKs individually by default, you can right click on the execution graph and select properties to choose what items show up in the execution graph if you want to turn off some of the execution states. If your TSKs are not enabled in the properties page than if they are executing they just show up as 'other threads' along with the idle task.

    You may also want to check out the RTA control panel under the DSP/BIOS menu of CCS as this enables the collection of the events that show up in the execution graph.

  • Bernie Thompson said:

    The execution graph should list all of your TSKs individually by default, you can right click on the execution graph and select properties to choose what items show up in the execution graph if you want to turn off some of the execution states.....

    I have a feeling this applies only to Tasks created Statically in the .tcf file for the Project, not for dynamically created tasks in the application like I have.  Looking through the DSP Bios' Users, Tutorial, Developers', and API manuals, I take it there is no way then to get the Dynamically allocated task to register in the DSP-Bios tools for inclusion in the Execution Graph?

     

  • I'd sure find that capability helpful. Green Hills execution graph tool gives you APIs that you can run in your code to produce visual event markers in the graph. Very handy.

  • CCSv4 Execution Graph shows both statically and dynamically created tasks. Also there is Thread Load view in addition to the CPU load view.

    Regards,

    Imtaz.

  • One more thing. The CCSv4 Execution Graph also shows all events logged via log_Event API. Upcomming CCS release will have significant new support for logging, analysis and visualization.

    Regards,

    Imtaz.

  • Yeah! Now to buy CCSv4

  • Hi

    I'm using the CCSv4 execution graph now and would like to add some of the visual event markers that you suggested log_event API was capable of doing. I'm, reading the xdc.Log information at C:\Program Files\Texas Instruments\bios_6_21_00_13\docs\cdoc\index.html and it appears that a log_event API isn't available.

    Would I use put4() instead?

    macro Void Log_put4( Types_Event evt, IArg a1, IArg a2, IArg a3, IArg a4 );

    This method unconditionally puts the specified Types.Event evt into the log. This type of event is created either implicitly (and passed to an ILogger implementation) or explicitly via Types.makeEvent().

    Or maybe log_write()?

    macro Void Log_write0( Log_Event evt );

    If the mask in the specified Log event has any bit set which is also set in the current module's diagnostics mask, then this call to write will "raise" the given Log event.

    With log_print(), I give it a mask defined in the .cfg xdc.runtime (i.e. diags_USER1, diags_USER2, etc)

    macro Void Log_print0( Diags_Mask mask, String fmt );

    But with log_write, how can a create a unique event other than the ones listed (i.e. in the .cfg xdc.runtime tab for ti.sysbios.knl.Task is see Log  Events: LM_switch, LM_sleep, etc.)

    Cheers

     

     

  • Hi Eddie -

    It sounds like what you're expecting to see is a visual marker for your events in the execution graph. This isn't currently supported by the RTA tools.

    However, you can get pretty close.

    Your Log_print statements will show up in the RTA tools in both the 'Raw Logs' and 'Print Logs' views. If you highlight one of your Log_print events in either of those tables, it will correlate with the execution graph, and you should see a red line on the execution graph showing you when your event occurred.

    In order to define your own events, you must write a RTSC module which defines the events. There are some advantages to doing this, but it doesn't unlock some special support in the RTA tools, like automatically being able to visualize the events. I imagine you will probably just want to stick with Log_print instead.

    Thanks,

    Chris