ARM7, remote GDB, Software Breakpoints

Torsten Mohr
2003-02-12T06:01:58Z

Hi,

i have several questions related to the GDB remote protocol
server i wrote ( http://www.s.netic.de/tmohr/pppcb-0.5.0.tar.bz2 ),
it would be great if someone could give me some hints.

1. I could handle HW breakpoints, how can i tell GDB that it should
use HW breakpoints? Just answering requests for SW breakpoints with
"ENN" doesn't seem to make GDB use HW breakpoints.

2. When i use SW breakpoints and download and start a program on
the target, first the program is downloaded and then the SW
breakpoints are set. SW breakpoints are done by replacing the
instruction at that address with a "breakpoint instruction".
When the program stops on a "breakpoint instruction", and i
then do a "step" or "continue", that original instruction is
NOT EXECUTED, it seems i have to restore that value temporarily,
do a "single step" and put back that "breakpoint instruction"
again, right?
From watching the communication between target and server i assume
it is like this, i just want to make sure this is the way to handle
it and i don't miss anything.

3. Thumb mode is not handled at all at the moment, what do i need
to do to handle Thumb mode?
If GDB downloads a program into the target and sets the PC to a
certain address, how does my server know if it should execute this
in ARM or in Thumb mode?

Best regards,
Torsten.