Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@redhat.com>
To: Andrew Batchelor <A.C.Batchelor-99@student.lboro.ac.uk>
Cc: gdb@sources.redhat.com
Subject: Re: GDB --> Parallel Port --> Target??
Date: Tue, 07 Oct 2003 16:28:00 -0000	[thread overview]
Message-ID: <vt2ad8dt3ms.fsf@zenia.home> (raw)
In-Reply-To: <1065520908.1048.276.camel@And.Linux>

Andrew Batchelor <A.C.Batchelor-99@student.lboro.ac.uk> writes:

> Hello, 
> 
> I was wondering how straightforward it would be to write an extension
> for GDB to use the parallel port to connect to a target instead of the
> serial port?  (Changing only a few files?  Many files?  Which ones?,
> etc.)
> 
> Now I'm not really very familiar with GDB and before I jump in at the
> deep end, I was wondering if any of you guys could give me any pointers?
> At the moment I'm just having a read through the User Manual and the
> Internals Manual and looking at some of the C files that look like they
> might be of some help - can any of you guys point me in the right
> direction?
> 
> Any help or advice you could offer would be much appreciated.

Have you tried simply doing "target remote /dev/lpt"?  It's worth a
shot.

If it turns out that doesn't work because the parallel device needs
special handling, that can be done pretty easily.  
Someone asked about this regarding USB recently:

http://sources.redhat.com/ml/insight/2003-q4/msg00016.html


Oddly enough, it seems like someone was thinking about this at some
point.  In serial.c:

    struct serial *
    serial_open (const char *name)
    {
      struct serial *scb;
      struct serial_ops *ops;
      const char *open_name = name;

      for (scb = scb_base; scb; scb = scb->next)
        if (scb->name && strcmp (scb->name, name) == 0)
          {
            scb->refcnt++;
            return scb;
          }

      if (strcmp (name, "pc") == 0)
        ops = serial_interface_lookup ("pc");
      else if (strchr (name, ':'))
        ops = serial_interface_lookup ("tcp");
      else if (strncmp (name, "lpt", 3) == 0)
        ops = serial_interface_lookup ("parallel");
      else if (strncmp (name, "|", 1) == 0)
        {
          ops = serial_interface_lookup ("pipe");
          open_name = name + 1; /* discard ``|'' */
        }
      else
        ops = serial_interface_lookup ("hardwire");

But this is just parsing what comes after "target remote".  So "target
remote lpt" would try to find a serial interface named "parallel".
But there is no code I could find that registered an interface by that
name, so the open would fail.


  reply	other threads:[~2003-10-07 16:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-07 10:00 Andrew Batchelor
2003-10-07 16:28 ` Jim Blandy [this message]
2003-10-08 13:44   ` Andrew Batchelor
2003-10-08 17:55     ` Jim Blandy
2003-10-10 16:49       ` Andrew Batchelor
2003-10-10 19:32         ` Jim Blandy
2003-10-08 19:37   ` Andrew Cagney
2003-10-10 16:53     ` Andrew Batchelor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=vt2ad8dt3ms.fsf@zenia.home \
    --to=jimb@redhat.com \
    --cc=A.C.Batchelor-99@student.lboro.ac.uk \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox