[ECOS] arm7 lpc2xxx abort data exception

Jean-David Vuillemain jdvuillemain@gmail.com
Fri Jan 25 16:53:00 GMT 2008


hi,
The value of r0 is 0 just before the execution of <start+52>. The
abort data exception tells that the address where it can't read is
0xE59FF018 wich is a reserved address.

For the stack I have no idea. I will change the stack value and see if
it is making it work.

thanks

JD

2008/1/24, Andrew Lunn <andrew@lunn.ch>:
> On Thu, Jan 24, 2008 at 03:38:14PM -0800, Jean-David Vuillemain wrote:
> > hi,
> >
> > i have been working with ecos for a couple of months now. I had no
> > problem at all with a 8 months old repository source files and my own
> > port for my target board. After some problem with my working
> > environment  and updating the ecos source files, i can't have my old
> > work and my new  code running on the board.
> > It seems that my code always go through the same steps and finishes by
> >  an exception abort data.
> >
> > Here is the code where it fails:
> > 0x80020070 <start>:    ldr r0, [pc, #1020]    ; 0x80020474 <.init_flag>
> > 0x80020074 <start+4>:  ldr r1, [r0]
> > 0x80020078 <start+8>:  cmp r1, #0    ; 0x0
> > 0x8002007c <start+12>: bne 0x80020078 <start+8>
> > 0x80020080 <start+16>: ldr r1, [pc, #196]    ; 0x8002014c <init_done>
> > 0x80020084 <start+20>: str r1, [r0]
> > 0x80020088 <start+24>: mov r0, #0    ; 0x0
> > 0x8002008c <start+28>: ldr r1, [pc, #988]    ; 0x80020470
> > <.__exception_handlers>
> > 0x80020090 <start+32>: cmp r7, #19    ; 0x13
> > 0x80020094 <start+36>: beq 0x800200a0 <start+48>
> > 0x80020098 <start+40>: ldr r2, [r1, #40]
> > 0x8002009c <start+44>: str r2, [r0, #40]
> > 0x800200a0 <start+48>: ldr r2, [r1, #24]
> > 0x800200a4 <start+52>: str r2, [r0, #24]    <-- this line fails on my
> > old and new programs
> > It ends up in an abort data:
> > 0x00000010 swp             r1, r3, [r2]
>
> What is the value of r0? You should be able to look at the exception
> bank of registers and see a value. Is it legal, does RAM/FLASH/IO
> exist there etc.
>
> The fact you are in exception handlers is not good anything. It
> suggests something else has gone wrong. Have you checked your stacks
> are big enough. It seems like 75% of random crashes are stack
> overflows.
>
>         Andrew
>


-- 
Jean-David Vuillemain
jdvuillemain@gmail.com

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list