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.

RTOS object view - Dynamically-created objects missing

Other Parts Discussed in Thread: AM3359

Hi,

I'm not sure if I should post this on SYS/BIOS or CCS forum...

When I use the ROV pane in CCS to browse Tasks or Hwis I see only the statically created instances. None of dynamically created instances are shown. However, the documentation here, shows that it was showing the dynamic instances in the past.

Any way I can fix it? This is a great inconvenience when debugging.

I'm using CCS v6.0.0.116 with SYS/BIOS v6.37.02.27.

Best regards,
Vasili

  • Vasili,

    Which device are you using?  And which version of XDCtools?

    Thanks,
    Scott

  • Hi Scott,

    We are using XDCtools 3.25.05.94.

    The code is for AM3359 device.

    Regards,
    Vasili

  • Thanks Vasili.  

    I haven’t gotten a hold of an AM3359 device yet to test that with the versions of CCS and tooling that you are using.  

    But, I ran another test (on an MSP430 that I have handy), with slightly later versions of the tooling, using the standard “Swi” example (which does several dynamic creations), and ROV shows those objects, as expected.

    So… yes, this should work on AM3359, but I don’t know why it is not in your particular setup.  Hopefully whatever is causing your issue has been resolved in later tooling, but I still need to verify that…

    Scott

  • Dear Scott,

    After some poking around, I finally found the root of the problem. It reproduces only for objects created with XXX_construct() methods. Such objects are not shown in ROV, while the objects created with XXX_create() methods are shown fine. The Swi example you tried uses the later, that's why you did not see the problem.

    Try replacing Task_create in the Swi example with:

        Task_Struct taskStruct;
        Task_construct(&taskStruct, tsk0Fxn, &taskParams, NULL);
    

    and you will see the task won't be shown in the ROV.

    Looking forward for your help on solving the issue.

    Best,
    Vasili

  • Hi Vasili,

    OK, thanks for clarifying, this makes sense.   In previously released products ROV was unable to display constructed objects.  

    The good news is that this support has been added, and will be available in a CCS v6 product update coming within the next few weeks.  There will be some conditions for ROV to be able to find constructed objects (e.g., they must be global, or declared static, and cannot be nested within other structures), but if it can find them, then ROV will now be able to display them.

    Regards,
    Scott

  • Hi Scott,

    Thanks for the great news! I'm looking forward to the release.

    Although I don't fully understand why the reason for such constraints... ROV has access to RAM, can't it just go over the Task module queues to find all the Tasks in the system? And when the pointer to the Task_Struct is found, why does it matter if it is a global object or nested within some other structure?

    Best,
    Vasili

  • ScottG said:

    [...] In previously released products ROV was unable to display constructed objects.  

    The good news is that this support has been added, and will be available in a CCS v6 product update coming within the next few weeks.  There will be some conditions for ROV to be able to find constructed objects (e.g., they must be global, or declared static, and cannot be nested within other structures), but if it can find them, then ROV will now be able to display them.

    I'm using CCS 6.1.1 and TI-RTOS 2.13.01.09, and find that the Task_Structs used with Task_construct are only shown in ROV if they're global. Function- or file-scope statics don't appear in the task list (even though they're not nested within other structs). Is there any way around this limitation?

  • Robert, there is a way to inform ROV about constructed objects so that ROV doesn't have to search for them:
    rtsc.eclipse.org/.../Runtime_Object_Viewer
    I think it should work for static objects too because the main limitation for displaying static objects is in detecting that they exist. Once we know about them, it should be easier to display them.
    However, I don't think that was ever tested. I'll try it later, but if you don't want to wait for me it should be very easy to set up the required file with one static constructed object.
  • Thanks Sasha, that works great!