[coldfire-gnu-discuss] Debugging from flash

Corrin Meyer Corrin.Meyer at dornerworks.com
Mon Sep 8 13:21:09 UTC 2008


Here is another wrinkle...

I have a very small test application (basically a 'hello world').  I
compile it and then use the P&E Micro tool flash it.  Once the board
reboots the application runs as expected.

I then connect to it using GDB:

(gdb) target remote | m68k-elf-sprite pe: m52235evb
Remote debugging using | m6k-elf-sprite pe: m52235evb
m68k-elf-sprite: Opening P&E USBMultilink port 1 (USB1 : USB-ML-CF REF :
M52235DEMO (PE60))
m68k-elf-sprite: Target reset
0x00000000 in __cs3_interrupt_vector_coldfire ()
(gdb) c
Continuing.

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000e12 in __cs3_isr_illegal_instruction ()
(gdb)

I would expect that after issuing the continue command that the program
should execute just as if the board had been booted.  Am I missing
something?

Corrin Meyer

> -----Original Message-----
> From: Corrin Meyer [mailto:Corrin.Meyer at dornerworks.com]
> Sent: Monday, September 08, 2008 9:04 AM
> To: coldfire-gnu-discuss at codesourcery.com
> Subject: RE: [coldfire-gnu-discuss] Debugging from flash
> 
> I am not really sure what is happening now...  Following is what I am
> getting.
> 
> ...
> (gdb) target remote | m68k-elf-sprite pe: m52235evb
> m68k-elf-sprite: Opening P&E USBMultilink port 1 (USB1 : USB-ML-CF REF
:
> M52235DEMO (PE60))
> m68k-elf-sprite: Target reset
> 0x00000000 in __cs3_interrupt_vector_coldfire()
> (gdb) b __cs3_reset
> Breakpoint 1 at 0x400
> (gdb) c
> Continuing
> Note: automatically using hardware breakpoints for read-only
addresses.
> 
> Program received signal SIGTRAP, Trace/breakpoint trap.
> 0x00000f62 in __cs3_isr_illegal_instruction ()
> (gdb)
> 
> >> I am using the P&E Micro flash utility (CPROGCFZ) to flash the
> ColdFire
> >> on the board I am working on.  I would like to be able to debug the
> >> running program using GDB.  The problem is that the error I am
> getting
> >> is right at boot and since the USB device can't be claimed by both
> the
> >> P&E Micro utility and the m68k-elf-sprite at the same time I have
to
> >> first flash it and then connect GDB to it but by that time it has
> >> already run into the error.
> >>
> >>
> >>
> >> I need to be able to tell the program to restart.  Normally I would
> just
> >> do a 'load' command within GDB but that will only work when running
> from
> >> RAM.  Is there anyway to restart a program that is already running
in
> >> flash?  I can't do a reset as then breakpoint set by GDB is
cleared,
> it
> >> needs to be a software reset issued by GDB.
> >
> >When you start the sprite, unless you tell it not to, it resets the
> >board.  So your program should be back at the reset vector when you
> >connect from GDB.  Is that not happening?
> >
> >["load" works fine and programs flash if you have a non-Lite SG++, by
> >the way :-)]
> >
> >--
> >Daniel Jacobowitz
> >CodeSourcery



More information about the coldfire-gnu-discuss mailing list