I have a custom BF532 board with SDRAM, both instruction and data caches are on.
I get EXCAUSE 0x21 (Undefined instruction) with RETX address pointing somewhere in SDRAM. Most of the time the address is the same, but not always.
The "undefined instruction" seems to be always of the type CC = Dreg == Dreg.
When I check the RETX address it always has valid data and the instruction is what it is expected to be.
I suspect SDRAM failure data being overwritten but seeing correct data in RETX address does not confirm that.
Disabling instruction and/or data cache does not change anything.
Is there a way to see the excepting instruction in some BF register (core pipeline or something similar, not in SDRAM).
P.S. Can someone recommend a good memtest? uBoot's memtest does not detect any problem on the very same board that gives this strange exception.