[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