I am trying to get UART interrupt through SYSBIOS,But after building the project i am getting following errors. I am unable to find the cause of these errors, even I have Included all the relevent libraries in the project,,
Errors:
1) Unresolved symbol ti_sysbios_family_c66_tci66xx_CpIntc_eventId__C in file C:\ti\bios_6_34_02_18\packages\ti\sysbios\lib\sysbios\instrumented\sysbios.ae66<BIOS.obj>
2) Unresolved symbol ti_sysbios_family_c66_tci66xx_CpIntc_hostIntToEventId__C in file C:\ti\bios_6_34_02_18\packages\ti\sysbios\lib\sysbios\instrumented\sysbios.ae66<BIOS.obj>
3) Unresolved symbol ti_sysbios_family_c66_tci66xx_CpIntc_Module__state__V in file C:\ti\bios_6_34_02_18\packages\ti\sysbios\lib\sysbios\instrumented\sysbios.ae66<BIOS.obj>
4) Unresolved symbol ti_sysbios_family_c66_tci66xx_CpIntc_numEvents__C in file C:\ti\bios_6_34_02_18\packages\ti\sysbios\lib\sysbios\instrumented\sysbios.ae66<BIOS.obj>
This is the code i am using for UART Interrupt. I am also attaching the Project, Please find attached.
Thanks in Advance.
1) main file
#include <c6x.h>
/* CSL Includes */
#include <ti/csl/csl_chip.h>
#include <ti/csl/csl_cacheAux.h>
/* BIOS includes */
#include <ti/sysbios/family/c64p/Hwi.h>
#include <ti/sysbios/family/c66/tci66xx/CpIntc.h>
#include <ti/sysbios/family/c66/Cache.h>
#include <ti/sysbios/family/c64p/EventCombiner.h>
#include <xdc/runtime/System.h>
#include <ti/sysbios/BIOS.h>
#include <xdc/runtime/Assert.h>
#include <xdc/runtime/Error.h>
#include <xdc/runtime/Memory.h>
#include <xdc/std.h>
#include <ti/sysbios/family/c66/tci66xx/package/internal/CpIntc.xdc.h>
#include <xdc/cfg/global.h>
#define GPIO_CFG_BASE (0x02320000)
#define GPIO_REG_BINTEN (0x8)
#define GPIO_REG_DIR (0x10)
#define GPIO_REG_OUT_DATA (0x14)
#define GPIO_REG_SET_DATA (0x18)
#define GPIO_REG_CLR_DATA (0x1C)
#define GPIO_REG_IN_DATA (0x20)
#define GPIO_REG_SET_RIS_TRIG (0x24)
#define GPIO_REG_CLR_RIS_TRIG (0x28)
#define GPIO_REG_SET_FAL_TRIG (0x2C)
#define GPIO_REG_CLR_FAL_TRIG (0x30)
#define CSL_UART_REGS 0x02540000
typedef struct {
volatile Uint32 RBR;
volatile Uint32 IER;
volatile Uint32 IIR;
volatile Uint32 LCR;
volatile Uint32 MCR;
volatile Uint32 LSR;
volatile Uint32 MSR;
volatile Uint32 SCR;
volatile Uint32 DLL;
volatile Uint32 DLH;
volatile Uint32 REVID1;
volatile Uint32 REVID2;
volatile Uint32 PWREMU_MGMT;
volatile Uint32 MDR;
} CSL_UartRegs;
#define hUartRegs ((CSL_UartRegs*) CSL_UART_REGS)
unsigned int Uart_Interrupt_Received_Flag = 0;
Void UART_HWI_Function(UArg arg)
{
Uart_Interrupt_Received_Flag = 1;
}
Void myIdleFunc()
{
}
Void main()
{
int eventId=0;
CpIntc_mapSysIntToHostInt(0,148,32);
CpIntc_dispatchPlug(148, &UART_HWI_Function,0, TRUE);
CpIntc_enableHostInt(0,32);
eventId = CpIntc_getEventId(32);
BIOS_start();
}
2) .cfg file
var ti_sysbios_hal_Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
var Idle = xdc.useModule('ti.sysbios.knl.Idle');
Idle.addFunc('&myIdleFunc')
var ti_sysbios_hal_Hwi0Params = new ti_sysbios_hal_Hwi.Params();
ti_sysbios_hal_Hwi0Params.instance.name = "null";
ti_sysbios_hal_Hwi0Params.priority = 5;
ti_sysbios_hal_Hwi0Params.eventId = 21;
var ti_sysbios_hal_Hwi0 = ti_sysbios_hal_Hwi.create(5, "&UART_HWI_Function", ti_sysbios_hal_Hwi0Params);