Hi
I am facing a linkage error in our application where Hwi_eventMap remains as unresolved symbol.
All other Hwi APIs like Hwi_enableInterrupt, Hwi_disable and Hwi_enable are getting linked properly.
[1] I am using bios_6_33_06_50 and CGT 7.4.7 XDC: 3_23_04_60.
[2] We ensured our configuration file use 'ti.sysbios.family.c64p.Hwi' and source file has included the path appropriately.
The linker is using bios_6_33_06_50\packages\ti\sysbios\lib\instrumented_e66e\sysbios\sysbios.lib and name list (nm) on the library shows the relavant symbols as listed below. Please note that we were using .c64p.Hwi
00000000 T ti_sysbios_family_c64p_Hwi_enableInterrupt__E
00000000 T ti_sysbios_family_c64p_Hwi_eventMap__E
Here is our configuration and usage:
var Cache = xdc.useModule('ti.sysbios.family.c66.Cache');
var Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
var Ecm = xdc.useModule ('ti.sysbios.family.c64p.EventCombiner');
Code
======
#include <ti/sysbios/family/c64p/Hwi.h>
#include <ti/sysbios/family/c64p/EventCombiner.h>
{
UINT eventId;
UINT vectId;
eventId = 100; // Random Event
vectId = 7; /* Pick a interrupt vector id to use. */
/* Register our ISR handle for this event */
EventCombiner_dispatchPlug (eventId, (EventCombiner_FuncPtr)EventInterrupt, (UArg)NULL, TRUE);
EventCombiner_enableEvent(eventId);
Hwi_eventMap(vectId, (eventId>>5));
/* Enable interrupt . */
Hwi_enableInterrupt(vectId);
}
am I missing anything?
Is it okay to use c66 cache and c64p HWI?
Regards, Kishor