Hi,
i implemented a kind o standard prefetch handler as follows:
#pragma INTERRUPT (prefetchAbortHandler, PABT)
void prefetchAbortHandler (void)
{
InstructionFaultAddress=_coreGetInstructionFaultAddress_();
dataFault=_coreGetDataFault_();
dataFaultAddress=_coreGetDataFaultAddress_();
dataAuxFault=_coreGetAuxiliaryInstructionFault_();
_coreClearDataFault_();
asm(" B #-8");
}
My question: i set the pc to 0xffffffff which returns a "dataFaultAddress" of 0xffffffff - as expected. So "coreGetInstructionFaultAddress" return the address which - in the end - caused the prefetch abort.
That´s of limited help though. I need to know, when this happened. Is there anything to return the last pc value _before_ it becam invalid? I can´t trace as the pcb doesn´t support the BGA package...
best regards
Dominik