This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]