EmbeddedRelated.com
Forums

*****Data abort**** when start up using AXD and multi ICE

Started by davidleungcc November 25, 2006
--- In l..., "davidleungcc" wrote:
> I read the Multi-ice data sheet.
>
> Is debug "program run in ROM"(e.g. flash) and "program run in SDRAM"
> different?
>
Yes, because the debugger can load RAM, but FLASH must be
pre-programmed with an algorithm particular to the FLASH being used.
Also, only hardware breakpoints can be set in FLASH, but either
hardware OR software breakpoints can be set in RAM.
>
> for debug program in ROM, it need to burn the image to the flash
> first and use "Load debug symbol" in AXD, and it works fine.

That is normal for debugging code in ROM.

> I try to use "Load image"(instead of "Load debug symbol"), it give
> error (data abort) at once.i dont know why, in fact the .axf is the
> same.
The AXF file should be the same, but the actions taken by those two
commands are very different. Read Only Memory has to be pre-programmed
before you start debugging. When you "Load debug symbol" you are not
doing anything to the target chip, you are just reading the symbol
table from the AXF file and placing it into your debuggers memory.
When you "Load image" you are extracting the executable code from the
AXF file and downloading it to the target. You can do that when the
target memory is writable, other wise the target has to be
pre-programmed with an algorithm applicable to the FLASH being used,
and then you just need to get the symbol table into the debugger.

>
> I am not sure whether "Load image" is used for debug "program run in
> SDRAM"

You can use "Load image" on any writable memory.
It has been a long time since I used MultiICE, but the basic
principles are the same for any debugger. That is, you need a symbol
table in the debugger, and you need code in the target, and the FLASH
needs to be pre-programmed with an algorithm applicable to the FLASH
being used.

-- Dave

An Engineer's Guide to the LPC2100 Series

derbaier wrote:
>
> pre-programmed with an algorithm applicable to the FLASH being used,
> and then you just need to get the symbol table into the debugger.
>
> >
> > I am not sure whether "Load image" is used for debug "program run in
> > SDRAM"
>
> You can use "Load image" on any writable memory.
> >
>
Heh, that might be the problem, he might not be loading the program into
RAM but into an area which has nothing in it, no RAM, no Flash,
nothing. That would cause the CPU to throw an abort. I've aborted when
loading via JTAG.

TomW
--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net http://cyberiansoftware.com http://openzipit.org
"Windows? No thanks, I have work to do..."
----------------
--- In l..., Tom Walsh wrote:
>
> derbaier wrote:
> >
> > pre-programmed with an algorithm applicable to the FLASH being used,
> > and then you just need to get the symbol table into the debugger.
> >
> > >
> > > I am not sure whether "Load image" is used for debug "program run in
> > > SDRAM"
> >
> > You can use "Load image" on any writable memory.
> > >
> > >
> > Heh, that might be the problem, he might not be loading the program
into
> RAM but into an area which has nothing in it, no RAM, no Flash,
> nothing. That would cause the CPU to throw an abort. I've aborted
when
> loading via JTAG.
>
> TomW
>
So have I.
I have also got those kind of aborts by doing a memory dump and
accidently getting the dump range outside of useable memory.

-- Dave