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.

System Analyzer: {Unknown} and some strange Tasks

Other Parts Discussed in Thread: AM3359

Hi,

im pretty new to the whole SYS/BIOS stuff but really excited about it. I'm using CCS 5.4.0.00091, BIOS Version 6.35.01.29, XDC Tools 3.25.00.48 on the TI AM3359 ICE DevKit and my BIOS configuration consist of the following tasks(priority from top to bottom):

hwi for timer interrupt (Hwi.ISR_TINT3)

task for spi communication (Task.SpiCom)

task created by example project with prints (Task.taskFxn)

idleTask for simple LED-Blinking

After starting the RTOS Analyzer -> Execution Graph function I get these prints:

Where do the cryptic named tasks like Hwi.800255e8 come from? For this graph I assume that this hwi is my 125us timer. But why isn't it displayed at Hwi.ISR_TINIT3 and why is there such long {unknown} time?

If I run again and pause, I get that different behavior:

Now Hwi.ISR_TINIT3 is used/display and suddenly Task.taskFxn also appears, but get never called.

As a final word, however, to say that the application works correctly.

Thank you in advance for any help.

Regards,

Klaus

  • Hi Klaus,

    Have you checked out the System Analyzer user guide ? Section 4.16 in the user guide (http://www.ti.com/lit/ug/spruh43d/spruh43d.pdf) explains how to use the execution graph.

    I am not sure what Hwi.800255e8 is and will check and get back. I am guessing the hex number is the address of a Hwi function and is displayed since the function label was not available. You can maybe search for 0x800255e8 in the disassembly window and see what function is present at that address.

    Best,

    Ashish

  • Hi Ashish,

    I have checked the dissasembly and the displayed Hwi.8002251c, which changed maybe because I slightly modified the code, is an invalid adress. The corresponding adress for the TINT3 interrupt would be 0x800066c8.

    I read the section 4.16 in spruh43d but it doesn't tell my anything about the fact off missing tasks in the Execution Graph or how to get rid of {unkown} activity.

    Regards,

    Klaus

  • Hi Klaus,

    Can you share your *.cfg file ? We will need to know more about how your App is configuring uia logging before commenting on {unknown} activity.

    It might also be useful to see the corresponding log entry in Live Session view for {unknown} activity. You can get this by first enabling grouping in the Live Session view.

    Next, click on the {unknown} activity bar in the execution graph.

    Now, if you go back to the "Live Session" view, the corresponding log entry will be highlighted. Please note that a thread's graph may correspond to more than one log entry.

    Klaus Schewiola said:

    I read the section 4.16 in spruh43d but it doesn't tell my anything about the fact off missing tasks in the Execution Graph or how to get rid of {unkown} activity.

    The list of tasks that show up in the Execution graph under OS may change over time. The OS view has a fixed max length and will show only the most recent threads that can fit in the view.

    Best,

    Ashish

  • Hi Ashish,

    I did that thing with the enabled grouping in the Live Session. This is the corresponding table and the graph:

    Maybe it has something to do with the task states, that it get marked as {unknown}. It seems to me that if an Event occurs like Task_LM_begin, Task_LD_ready, Task_LD_block, or Task_LM_sleep the state {unkown} is set at the EventClass.

    Regards,

    Klaus

    0763.app.cfg

  • Hi Klaus,

    I think you are getting "Unknown" in the execution graph, because System Analyzer does not have enough data to determine what task was running.  You could see this at the beginning of the graph before the Hwi thread, because there is no information logged as to what thread was interrupted by the ISR.  You will get information about what task was running if there is a Task switch.  So probably what is happening is you have one task running and are logging a lot of Hwi and Swi activity, while that task is running, and you don't have a Task switch during that time interval.  For example, if you have tasks that call Task_sleep() for a period of time, you may just see the Timer Hwi and Swi, and the unkown task would be the Idle task.

    You could try disabling Hwi and Swi Logging to see how that affects the graph.

    Best regards,

        Janet