rculley@pogoF.hslrswi (Roy Culley) (05/26/90)
In article <8652@rice-chex.ai.mit.edu>, gnulists@wheaties.ai.mit.edu (Leonard H. Tower Jr.) writes: |> This version of gdb can debug programs running in three environments: |> |> 1. UTek V UNIX process (just like normal gdb) |> |> 2. simulator of a bare 88k + some I/O devices (announced earlier this week) |> |> 3. remote target, i.e. a machine other than the one gdb is running on. |> |> Kernel engineers at Tek use 3) to debug the UNIX kernel. I call gdb |> "cross-gdb" when it is used in this mode. |> |> Cross-gdb uses a serial connection between the host (running cross-gdb) |> and the target that runs at 38.4 kilobaud. Data going over this line |> is compressed and checksummed. On the target, a small program (the |> "debug monitor") examines memory, changes memory, starts the |> program-being-debugged, and fields exceptions on behalf of cross-gdb. |> The debug monitor is on one end of the serial line, cross-gdb is on the |> other. |> |> Cross-gdb has a number of new commands to make low-level debugging |> easier. They are described in the man page that you can get along |> with the source (see below). |> |> If you want to use cross-gdb, you need to: |> |> 1. Have some way that gdb can reset and interrupt the target. This |> means you need some hardware + need to modify gdb to know about |> it. |> |> 2. Make the 8k monitor talk to a spare serial port on your target. |> |> 3. Find a place to put the 8k debug monitor. |> |> Note that the 8k debug monitor is not linked with any gnu code and is |> copyrighted by Tektronix. But Tek makes it available w/o charge as |> long as you leave their copyright messages intact. |> |> It will require at least a little work to port this to a non-Tek |> machine. You will probably want to slash a lot of the cruft out of |> gdb/Makefile. If you delete the directory gdb/sim, you will get a gdb |> w/o the simulator. This will make your work easier if you don't need |> the simulator. |> |> I do not represent Tektronix in any way. No warranties, etc. I will |> try to help people who make a serious effort on their own. But don't |> bang your head against a wall when I could clear something up in a few |> minutes. |> |> You can get this gdb + simulator + cross-debugging features from |> |> 128.95.1.4 june.cs.washington.edu cs.washington.edu june |> |> The two files are: |> |> -rw-r--r-- 1 robertb 2422839 May 17 13:45 /usr/ftp/pub/gdb88.rcs.tar.Z |> -rw-r--r-- 1 robertb 1046629 May 17 13:43 /usr/ftp/pub/gdb88.tar.Z |> |> The larger file contains all the RCS files, the smaller file has just |> the current version of each file. |> |> Rob |> |> Here's what the ftp session looks like: |> |> Script started on Thu May 17 14:08:22 1990 |> % ftp 128.95.1.4 |> Connected to 128.95.1.4. |> 220 june.cs.washington.edu FTP server (Ultrix Version 4.9 Wed May 3 20:41:16 PDT 1989) ready. |> Name (128.95.1.4:): anonymous |> Password (128.95.1.4:anonymous): |> 331 Guest login ok, send ident as password. |> 230 Guest login ok, access restrictions apply. |> ftp> cd pub |> 250 CWD command successful. |> ftp> bin |> 200 Type set to I. |> ftp> get gdb88.tar.Z |> 200 PORT command successful. |> 150 Opening data connection for gdb88.tar.Z (128.95.1.4,1691) (1046629 bytes). |> 226 Transfer complete. |> local: gdb88.tar.Z remote: gdb88.tar.Z |> 1046629 bytes received in 11 seconds (97 Kbytes/s) |> ftp> quit |> 221 Goodbye. |> % uncompress gdb88.tar.Z |> % tar xf gdb88.tar |> script done on Thu May 17 14:10:00 1990 |> |> - Rob Roy G. Culley, abt 85L2, x3503