Using an ADSP-SC589, I have an intermittent issue where sometimes the ARM core seems to get stuck in an infinite loop. I managed to catch it in debug mode once. This is the disassembly:
0000546e: wfi 00005470: b 0x546e
It appears that it's waiting for an interrupt that never comes. I checked the CP15 c5 registers and found a non-zero in the DFSR and IFSR.
DFSR = 0x00000084
Ext = 0, WnR = 0, Domain = 8, Status = 04
IFSR = 0x00001000
Ext = 1, Status = 00
The Stack Pointer is pointing to SP = 200BF3B8 which, if I'm reading correctly is part of L2 Cache. Status 4 is a instruction cache maintenance fault.
I'm not really sure where to start in troubleshooting this. I have a text file with all of the registers. Not sure if the problem is hardware or firmware. Any help would be greatly appreciated. Thanks!