next up previous contents
Next: Who should use gdb-rsp-mon? Up: GDB-MON-RSP Previous: Contents   Contents

Introduction

The full name of gdb-rsp-mon is $GNU$ $D$e$B$ugger $R$emote-$S$erial-$P$rotocol $Mon$itor. If you know exactly what this is, you can probably just glance through the introduction section. Otherwise, enjoy some background information!

The $GNU$ $D$e$B$ugger (henceforth gdb, see gdb home site) is a ``free'' debugger that works very well with gcc and many other free implementations of programming languages. You can get gdb and gcc for pretty much any operating systems, including all 32-bit Windows©operating systems (Win95, Win98, WinMe, WinNT4, Win2000 and WinXP) as well as all Unix flavor operating systems (Linux, FreeBSD, SunOS,...). gdb is very useful to debug programs that runs on the same platform that hosts the development tools (such as gcc, gdb and many other programs).

If the target (machine to run the program to be debugged) is different from the host (machine to run the programming tools), gdb needs some help. Some of you may immediately ask ``why don't we make the target also the host?'' Well, that would be ideal. Unfornately, the target may have very little resources to run a compiler, let alone a complete operating system!

Fortunately, gdb does come with an interface that allows a fully equipped host to debug a program running on a minimalist target. The interface is called the $R$emote-$S$erial-$P$rotocol (henceforth rsp). This is a protocol that specifies all the commands and responses for a host to control the execution of a program on a target. This is great, so why do we need this program called gdb-rsp-mon?

Although gdb is prepared to communicate with a target machine via rsp, processors do not understand packets of rsp received at the serial port and other communication devices. A very small program called a monitor needs to run on the target to interpret the meanings of the rsp packets. This is exactly what gdb-rsp-mon is: a monitor to interpret the remote serial protocol!


next up previous contents
Next: Who should use gdb-rsp-mon? Up: GDB-MON-RSP Previous: Contents   Contents
Tak Auyeung 2001-12-30