Part Number: TMS320F280045
For a few weeks now, we noticed a very strange misbehavior with individual newer DSPs. The errors have only been occurring in recent weeks although we have not made any changes to software nor hardware.
What we noticed so far, is that the allegedly bad DSP show different values for intVect and thisVect when entering the default ISR (see sample code) . We think that the DSP jumps to the wrong ISR. What could lead to this strange behavior?
interrupt void DEFAULT_ISR(void) // dummy ISR
{
volatile int32 intX, intT;
volatile uint32 intVect, thisVect;
/* SEE PieVect.h */
intX = (uint32)PieCtrlRegs.PIECTRL.all;
intVect = *(uint32*)intX; //This is the InteruptServiseRroutine he should have jumped
thisVect = (uint32)DEFAULT_ISR; //This is the InteruptServiseRroutine he actualy jumped
//some code
//Write values in not initialised code sector
bootInfo.pieIsrVector = intVect;
bootInfo.thisIsrVector = thisVect;
//some code
for(;;); //Here reset of system because of WatchDog time out
}

