This is the mail archive of the
ecos-discuss@sourceware.cygnus.com
mailing list for the eCos project.
Re: SIGTRAP question
Nicole Cook wrote:
> > That's an address in ROM. By any chance is it the same address you get when
> > you connect to the board with "target remote"? If so, it looks like the
> > board is resetting itself, or jumping to the reset address at least.
> >
>
> Yes - it seems to be - is there a way to determine from the trap why the
> board is jumping to the reset address? It should just return from this
> function - but it recieves this signal instead.
I assume it's reproducible? If so, try using "si" to find the exact
instruction that's causing it, although it will probably be a return -
something like "movs lr,pc" or "ldmdb fp, {r1, r2, fp, sp, pc}". At this
point you should be able to determine the return address it is trying to
restore into the pc. If this is C code, you could also try compiling
without optimization to eliminate compiler bugs as a possible explanation.
With some targets/MMUs, if you try to jump to wacky addresses it will cause
it to reset. I don't know off-hand if the AEB C is in this category, but
they may well be the "cause". Of course the real question is why such a
wacky address is trying to get loaded in the first.
Another diagnostic to try: if you aren't including stubs in your
configuration, you could also try enabling the "Provide diagnostic dump for
exceptions" option in the ARM HAL.
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault