0

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

What's the difference between FIQ and IRQ

How to debug random data abort issue on arm based platform

Community
  • 1
  • 1
Ekker
  • 33
  • 1
  • 6
  • have you verified all of your accesses are aligned? you should be able to look at the stack (cortex-m) or link register (not cortex-m) and find the instruction that caused the abort. – old_timer Jul 27 '12 at 17:07
  • Yes, I check the link register R14 but the address are not always point to the same address. And if I doing the same operation, it sometimes shut down sometimes slow not always a fix time. It's weird, but after I removing the waiting in FIQ it seems work!? Thank you for your reminder. – Ekker Jul 27 '12 at 17:24

0 Answers0