This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
remote GDB problem reading instructions from FLASH (IXP425)
- From: Jonathan Wurtz <jwurtz at wgate dot com>
- To: gdb at sources dot redhat dot com
- Cc: linux-arm at lists dot arm dot linux dot org dot uk
- Date: Mon, 25 Aug 2003 15:56:24 -0400
- Subject: remote GDB problem reading instructions from FLASH (IXP425)
Hello,
I'm trying to debug code running from Flash on an IXDP425 (XScale) board. To do
this, I'm using xscale-elf-gdb on the host, which communicates with the target
via the Abatron BDI200 JTAG interface unit. Whenever the code hits a breakpoint
in flash (which, I assume is a HW breakpoint, since it's in flash, and the code
does stop), GDB on the host requests to read target memory for that 32-bit
instruction. Unfortunately, this instruction resides in flash, which only
supports 16-data reads.
I've observed this with "set debug remote" turned on:
> /* Code hits hardware (I assume) breakpoint set at 0x50013b3c */
> Sending packet: $m50013b3c,4#be...Ack
> Packet received: E01
> Cannot access memory at address 0x50013b3c
Is there any way to get GDB to limit reads from within a certain memory range to
16-bits at a time? Or, at least to manually set the read size for instruction
fetches to either 16 or 32, based on where I know I'm executing code?
I've tried setting the GDB variables 'set remote memory-read-packet-size' and
'set remote memory-write-packet-size' both to 2 (bytes), but it seemed to have
no effect on GDB instruction fetches.
This is my interpretation of the evidence. Please correct me if I'm wrong.
Any help appreciated :-)
--Jon
--
Jonathan Wurtz
Senior Software Engineer
WorldGate Communications
Phone: (215) 354-5135