single-stepping remote target fails

Chad Phillips
2005-06-23T15:20:33Z

I have rewritten basic support for MCORE for gdb-6.3. Also, I have
written a debug proxy application that accepts 'remote' connections from
GDB via. socket and then manipulates the target using its JTAG/BDM
interface. Now for the problems....

Context: Code being executed on the target is in Flash. As a result, I
have only supported hardware breakpoints at this time. Two hardware
breakpoints are available through the MCORE JTAG port.

Problem 1.
Single stepping in C source only steps by single machine instruction. I
had expected that GDB might try to set breakpoints on the next
instruction and then continue, but I see no such requests from GDB. How
does GDB cause single steps through C (any high level language) source?

Problem 2.
When I issue the step command (or si, n, ni) to the target, GDB does a
_lot_ of memory reads. It reads from the start of main up to the
current PC (in main). What is it doing, and how can I make it stop?

Thanks,
Chad