public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* Remote serial debuggers
@ 2005-01-05 17:06 Russell Shaw
  2005-01-06  4:39 ` Ramana Radhakrishnan
  0 siblings, 1 reply; 2+ messages in thread
From: Russell Shaw @ 2005-01-05 17:06 UTC (permalink / raw)
  To: gdb

Hi,
What gdb file handles the remote stub interaction? Is it remote.c?

I noticed there's other monitors such as remote-e7000.c, remote-hms.c, etc.
Do these monitors talk to a debugger using their own protocol instead of the
default gdb stub way?

Some remotes use: static struct monitor_ops
and others use:   struct target_ops

What's the difference between a monitor and a target?

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Remote serial debuggers
  2005-01-05 17:06 Remote serial debuggers Russell Shaw
@ 2005-01-06  4:39 ` Ramana Radhakrishnan
  0 siblings, 0 replies; 2+ messages in thread
From: Ramana Radhakrishnan @ 2005-01-06  4:39 UTC (permalink / raw)
  To: Russell Shaw; +Cc: gdb

Russell Shaw wrote:
> Hi,
> What gdb file handles the remote stub interaction? Is it remote.c?
> 

remote.c if you use gdbserver or any stub which follows GDB's remote 
serial protocol.

> I noticed there's other monitors such as remote-e7000.c, remote-hms.c, etc.
> Do these monitors talk to a debugger using their own protocol instead of 
> the
> default gdb stub way?

I assume so . e7000 seems to have its own protocol to communicate to the 
stub.


> 
> Some remotes use: static struct monitor_ops
> and others use:   struct target_ops
> 
> What's the difference between a monitor and a target?

The manual says and I quote:

<begin quote>

A "target" is the execution environment occupied by your program. Often, 
GDB runs in the same host environment as your program; in
that case, the debugging target is specified as a side effect when you
use the `file' or `core' commands.  When you need more flexibility--for
example, running GDB on a physically separate host, or controlling a
standalone system over a serial port or a realtime system over a TCP/IP
connection--you can use the `target' command to specify one of the
target types configured for GDB

<end quote>


So a target is slightly more generic than a monitor. GDB allows you to 
use upto 3 targets at the same time. You can be looking at an executable 
, a core file and processes. Different commands would automatically 
choose the right target in the target "stratum" / stack according to GDB 
terminology. For more info refer to info gdb and search for Active 
Targets. (Targets could be a remote target, jtag, rom monitor, a native 
executable,  a remote proxy ) .



  A monitor AFAIK refers to just ROM Monitors and an abstraction to use 
them . So a monitor would be a target and not vice versa ! :-) ...

HTH

cheers
Ramana

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-01-06  4:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-05 17:06 Remote serial debuggers Russell Shaw
2005-01-06  4:39 ` Ramana Radhakrishnan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).