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.

Want to see Task Execution graph on Tiva TM4C129x

Other Parts Discussed in Thread: SYSBIOS

I want to be able to see the system analysis graph that shows the Task execution, task switches. Something like at this link:

"processors.wiki.ti.com/index.php/File:Sysbios_exec_graph.png"

I just couldn't ever figure out what / how to configure settings in my TI RTOS configuration tool to enable it. 

I'm developing on TM4C129x Development board, with RTOS v2.10.0.38

  • Try running the Stairstep JTAG Stopmode example (Resource Explorer->TI-RTOS for TivaC-><your device>->Instrumentation Examples->TI->Single Core).

    Once that is running, open CCS->Tools->System Analyzer and select execution graph. Note: you'll need to stop the target to get the data (this example uses stop-mode as opposed to UART or USB to get the data to CCS).

    The main things you need to do to get this is use the LoggingSetup module in the .cfg file.

    Please refer to the TI-RTOS User Guide and the UIA User Guide for more details.

    Todd

  • Thanks Todd. That's definitely a good start, good direction.

    I could try that a new example project from scratch, it worked. I tried replicating exactly the same LoggingSetup in my current project. My current project uses UART prints, hence System is setup to SysCallback. I tried changing that with SysMin, just to replicate setup in example project. Yet, I couldn't see an expected graph of All tasks' in a timeline. I did spent quiet a few time on that. I wonder if I could get someone's online support with screen share. Thanks for your information though.
  • The System output does not contribute to the Execution Graph. It is the Log statements that do. A common problem is using a non-instrumented kernel. Notice in the stairstep's .cfg file that the it uses the custom library (best for performance and footprint) and that logging is enabled.

    So make sure you have custom and logging enabled (or use the instrumented library).

    Also make sure you include LoggingSetup from UIA. You need Task context switches for the execution graph. You can do Hwi and Swi context switches also, but they general flood the logs (takes why we default them to off)

    If neither of these things help, please post your .cfg and I'll take a look at it.

    Todd

     

  • This is exactly what I was looking for. Thank you very much for posting the pictures with highlights. That was very helpful. :)
    TI support is really awesome, prompt. CCS - so far the best tool I've ever used, and so is the TI-RTOS.

    One other things, I'm kind of trying to learn more, that I see only 3 of my tasks in execution graph, and none other, although I know there is some processing happening within those tasks. Not sure, what is set in those 3 tasks that others don't have.
  • The execution graph is constructed by looking at the Task Context Switch log messages. When a context switch occurs, the previous and new task handles are logged. If during the time that you sampled, a task did not run (i.e. it was blocked on something), it will not show up in the execution graph. You can increase the size of the RTOS Execution Event buffer to collect more records and see more of your application's execution.