[En-Nut-Discussion] arm expection handler (data abort)
Ole Reinhardt
ole.reinhardt at embedded-it.de
Fri Dec 19 18:30:53 CET 2008
Hi Tim,
> I had a similar problem. I couldn't get the printf or a fputs to work.
> I ended up saving the data in high memory, rebooting, and then reading
> the data out of high memory in the main program. Works like a charm.
You mean the value of lr is influenced by the printf routine?
Indeed printf will only work on the debug UART as you'r operating in
interrupt / abort mode and all IRQs will be disabled at that time.
Another problem I found is, that value of lr points to an invalid
address, so reading the value of this memory address (the instruction
that caused the exception) will fail and itself call another exception.
So you must first check if the calculated lr value is located in the
ram, before dereferencinv the pointer.
So far so good, what I'm confused about is the fact that the value of lr
is always the same for me. Regardless of of the place in code where the
exception is thrown.
Could you send me a piece of your code please?
Regards,
Ole Reinhardt
--
_____________________________________________________________
| |
| Embedded-IT Hard- und Softwarelösungen |
| |
| Ole Reinhardt Tel. / Fax: +49 (0)271 7420433 |
| Luisenstraße 29 Mobil: +49 (0)177 7420433 |
| 57076 Siegen eMail: ole.reinhardt at embedded-it.de |
| Germany Web: http://www.embedded-it.de |
| UstID / VAT: DE198944716 |
|_____________________________________________________________|
More information about the En-Nut-Discussion
mailing list