I'm developing the embedded system on ARM platform. And I just try to solve a random data abort issue on it. And as I try to focus the problematic lines on the register map for debugging, but another problem is the lines number are not always the fixed number. Finally, I found that the waiting function call(just make the CPU to suspend for a specified time) will introduce the data abort problem.
I'd like to know what's the problem if we do a lot of things such as a complex computation in FIQ or IRQ? Would it introduce a data abort problem? Since the FIQ should disable all the other FIQ or IRQ during service routine, why would it introduce these kind of problem?
Ref