Hello TI,
I am working on my RTOS on the C2000 family.
The issue is I could not execute the linked function to the timer interrupt service routine.
My code is a little bit complicated in comparison to TI code.
in the Initialization phase I am initializing all the vectors to unknown functions like this:
void * VectorTableHead = (void *)0x00000D00;
...
Uint32 *Source = (void *) &tpfnDInt_iISRVectorTable[0];
Uint32 *Destination = VectorTableHead;
...
for(u16Count = 3U ; u16Count<(Uint16)UserInt_NbOfIRQSources ; u16Count++)
{
tpfnDInt_iISRVectorTable[u16Count] = &vDInt_iUnknownInterrupt_Isr;
}
#ifdef CORE0_DRV_ENABLE
//Set vector table location
Source = Source + 3;
Destination = Destination + 3;
EALLOW;
for(VectoIndex = 0; VectoIndex < 221; VectoIndex++)
{
*Destination++ = *Source++;
}
EDIS;
#endif
__interrupt void vDInt_iUnknownInterrupt_Isr(void)
{
asm(" ESTOP0");
}
In the Interrupt driver I used this code:
typedef __interrupt void (* TpfnDCore_eHandler)(void);
...
TpfnDCore_eHandler tpfnDInt_iISRVectorTable[UserInt_NbOfIRQSources]={NULL};
....
/* Store interruption handler in vector table to be used by
* interruption routine */
tpfnDInt_iISRVectorTable[FstIsrConfiguration->u16Identifier] = FstIsrConfiguration->FpfHandlerFunc;
temp = ((Uint32)((FstIsrConfiguration->u16Identifier)) - 1);
Destination = Destination + temp;
/* Install the vector value to the table vector */
EALLOW;
*Destination = tpfnDInt_iISRVectorTable[FstIsrConfiguration->u16Identifier];
EDIS;
....
the function adress that has to be called when the interrupt triggers is stored to a table:
TpfnDPit_eHandler CtpfDPit_iInterruptHandler[CeDPit_eNbOfInstances]
the definition of this function is like this:
__interrupt void vDPit_iPit0InterruptHandler_Isr(void)
{
PieCtrlRegs.PIEACK.all = 0x0001;
}
__interrupt void vDPit_iPit0InterruptHandler_Isr(void)
the problem is, the vDPit_iPit0InterruptHandler_Isr is never called even if the PieVectTable Timer0 vector has its adress.


In the pie, I could see the interrupt triggers and the timer running.
Thank you .



