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.

HWI does not appear to honor namedInstance

Other Parts Discussed in Thread: SYSBIOS, AM3359

Greetings,

I am trying to use the named instance label feature to show names in the ROV display. This works for task, mailbox, event, semaphore, and SWI.

It does not for HWI.  The label text does not show in ROV.  Is this supposed to work?

A code extract from one of my HWI initializations:

    Hwi_Params hwiParams;
    Error_Block eb;

    Hwi_Params_init(&hwiParams);
    Error_init(&eb);

    hwiParams.arg = 1;
    hwiParams.priority = 19;
    hwiParams.instance->name = "ADC Hwi";

    tempHwiHandler  = Hwi_create(intNum ,hwiFuncPointer , &hwiParams, &eb);

My cfg file:

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');
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;
Program.heap = 32768;

Platform: AM3359 on BeagleBone

SYS/BIOS 6.34.2.18

CCS 5.3.0.00090

ROV 3.3.0.201209281235

RTSC/XDC 3.24.5.48

Gerry Belanger

  • Hi Gerry,

    The hal Hwi module has a delegate device specific proxy module (ti.sysbios.family.arm.a8.intcps.Hwi in this case). In your application the hal Hwi module is being used to create a named Hwi instance. However, the ROV view uses the proxy Hwi module's object to generate the view. Since the hal Hwi module's instance name is not propagated to the delegate proxy Hwi module, the instance label is missing.

    I have filed a bug for this. Here's the link for bug tracking:

    https://cqweb.ext.ti.com/cqweb/main?command=GenerateMainFrame&service=CQ&schema=SDO-Web&contextid=SDOWP&entityID=SDOCM00098325&entityDefName=IncidentReport&username=readonly&password=readonly

    There is a way to get around this problem and get the instance labels to display in the ROV view. You need to add the following code to your application's cfg file:

    cfg script:

    var hwiProxy = xdc.module('ti.sysbios.family.arm.a8.intcps.Hwi');

    hwiProxy.common$.namedInstance = true;

    You do not see this problem with the Task, Semaphore, Event and Mailbox modules as they do not have a proxy delegate associated with them.

    Best,

    Ashish

  • Ashish,

    Thank you for the detailed explanation. 

    I suspected that because the HWI has to be somewhat hardware dependent, that something like this was happening under the hood. 

    This is just a non-critical loose end.

    To follow up, does you answer mean I can or should enable the A8 INTCPS/HWI in the config gui, and enable the named instance there?

    I looked at that this morning, but I was not sure if I should, as my ISR was getting executed without explicitly enabling the INTCPS/HWI..

    Gerry Belanger

  • Gerard Belanger said:

    To follow up, does you answer mean I can or should enable the A8 INTCPS/HWI in the config gui, and enable the named instance there?

    I looked at that this morning, but I was not sure if I should, as my ISR was getting executed without explicitly enabling the INTCPS/HWI..

    You can enable the A8 INTCPS/HWI module (and enable the named instance) in your config if you want the labels displayed in the ROV view. It is not required to enable it.

    Best,

    Ashish