I am facing Data abort - Asynchronous External abort type. Our understanding about Asynchronous External abort, The exception is not generated as a result of direct execution or attempted execution of instruction that caused the exception.
Following register dump are collected during Exception handling:
DFSR contains - 0x1406
Exception type bit[12] : External abort type
Fault status bit[10, 3:0] : 0b10110 - Asynchronous external abort
Over Asynchronous exception DFAR become UNKNOWN. So We expected AxFSR should help in this case. Unfortunately, In all the reproduction AxFSR shows ‘0’.
And Linker(lr) and Stack Pointer (sp) also points to be (very usual flow) normal SW execution.
Problem observed in CR7 CPU.
I want to know following thinks, could someone help.
Unfortunately, since the exception is asynchronous, it is very hard to find the cause precisely. LR and FSR usually does not help a lot. It could be related to memory access or cache operation. SW could mask the async exception in CPSR.A bit (just ignoring it).
One way that you possibly can try is to use DMB/DSB instruction nearby the exception, which tries to force the exception to be reported early for debugging purpose. But this method does guarantee the cause can be identified.