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.

Named Instances no longer working

Other Parts Discussed in Thread: SYSBIOS

I noticed this morning that instance names no longer appear in ROV for any entity type. 

It has been several weeks since I had to look at ROV, so I do not know exactly what  update made them disappear.

I am using them with tasks, events, mailboxes swis and semaphores, all of which worked before.  A typical task setup is:

    // create the task
    Error_init(&eb);
    Task_Params_init(&taskParams);    // set defaults
    taskParams.priority = priority;
    taskParams.instance->name = "Initialization Task";
    gl_os_init = Task_create(task_init, &taskParams, &eb);

Target: AM335x (BeagleBone)

SYS/BIOS:  bios_6_34_04_22

XDC tools: xdctools_3_24_05_48

CCS: 5.3.0.00090, up to date according to the Help -> Check for Updates

Compiler:  5.0.4

My bios config file is attached.

6622.Gerry.cfg

Gerry Belanger



  • I upgraded to XDC tools 3.24.06.63 and BIOS 6.35.00.20 in case defect

    SDOCM00097874    BIOS 6: BIOS module ROV view is broken for platforms with no memory defined at location 0.

    was the cause, but no change.

    I saw one more Known Issue in the release notes:

    SDOCM00074130    ROV should reference kernel object names versus object addresses

    Is this the cause of the instance manes not appearing?

    GerryB

  • Hi GerryB,

    I made a quick experiment application and I noticed that I am able to see the Task instance names in ROV for Tasks that are created statically in my *.cfg file.  But, for the Tasks that are created dynamically at run time, ROV does not show the instance name.

    Is it possible that you previously had been creating your Tasks in your BIOS configuration?

    Steve

  • Steve,

    I have never done a static configuration.  Other than what SYSBIOS sets up to get started, all of my tasks, events, etc are set up dynamically.

    Everything except HWIs (a previous thread, which explained why) used to show the instance names in the ROV Label column.

    At least you were able to duplicate the problem so at least I know it is not operator error on my end.

    Gerry Belanger.

  • I found the answer.  This is a feature that is configurable.

    There are two ways to do it. You can enable the names for *all* modules, or you can do it for each module individually (for better performance).

    Here's the BIOS configuration (*.cfg) code for all + the Task module:

    var Defaults = xdc.useModule('xdc.runtime.Defaults');
    var Task = xdc.useModule('ti.sysbios.knl.Task');

    /* enable instance names for ALL modules */
    Defaults.common$.namedInstance = true;

    /* enable instance names for the Task module ONLY */
    Task.common$.namedInstance = true;

    Steve

  • Steve,

    I did have the named instance enabled by module.  It was working a month ago.  The original config file was attached to the first post of this thread.

    I added the default stuff this morning, still no names.  The latest file is:

    var Defaults = xdc.useModule('xdc.runtime.Defaults');
    var Swi = xdc.useModule('ti.sysbios.knl.Swi');
    var Mailbox = xdc.useModule('ti.sysbios.knl.Mailbox');
    var Event = xdc.useModule('ti.sysbios.knl.Event');
    var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer');
    var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
    var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
    var Task = xdc.useModule('ti.sysbios.knl.Task');
    var BIOS = xdc.useModule('ti.sysbios.BIOS');
    var ti_sysbios_family_arm_a8_intcps_Hwi = xdc.useModule('ti.sysbios.family.arm.a8.intcps.Hwi');
    Swi.numPriorities = 4;
    BIOS.common$.namedInstance = true;
    Task.common$.namedInstance = true;
    Semaphore.common$.namedInstance = true;
    Event.common$.namedInstance = true;
    Mailbox.common$.namedInstance = true;
    Hwi.common$.namedInstance = true;
    Swi.common$.namedInstance = true;
    ti_sysbios_family_arm_a8_intcps_Hwi.common$.namedInstance = true;
    Timer.anyMask = 51;
    BIOS.libType = BIOS.LibType_Custom;
    BIOS.heapSize = 65536;
    BIOS.cpuFreq.lo = 500000000;
    Defaults.common$.namedInstance = true;

    Gerry Belanger

  • Hi Gerry,

    Can you try creating a new example for test purposes?

    I've made sure that I am using all of the same build components that you are using and then created a new CCS project for ARM9 on evmOMAPL138.

    I chose the SYS/BIOS "Task Mutex Example" as my template.  I then updated the project to have named Tasks, both statically and dynamically.  I then updated the configuration to set

    Task.common$.namedInstance = true;

    I'm able to run the app and I see the names in ROV.

    Can you try to import this same thing on your side?

    I've attached my project for reference.

    0451.example-for-Gerry.zip

    Steve

  • Steve,

    I did not have a chance to bring up the example on the BeagleBone.  But it is now moot.

    As mysteriously as named instances stopped working, they started working again.

    I'm baffled, but development goes on.

    Thanks,

    Gerry Belanger