Table of Contents

gdb server protocol

The gdb server protocol is used in a debug setup between gdb and the gdbserver. The gdbserver is the driver/software interface of the JATG/SWD probe. This allows the user to use an(optional) IDE with gdb to debug firmware running on a MCU.

+------------------+
|        User      |
+------------------+
          |
+------------------+
|        IDE       |
+------------------+
          |
+------------------+
|        gdb       |
+------------------+
          |
          |     <-- gdb server protocol is used here
          |
+------------------+
|     gdb server   |
+------------------+
          |
+------------------+
| JTAG / SWD probe |
+------------------+
          |
+------------------+
|        MCU       |
+------------------+

The remote protocol is specified in Appendix E of the gdb documentation. Wherever appropriate large parts of that documentation have been copied here.

The protocol is used over a serial byte data stream. Examples are a serial port (UART/COM Port) or a TCP port. The data is exchanged over this channel in packets. In this communication the gdb sends commands and the gdb server sends replies.

In the documentation format strings everything [inside of square brackets] is optional and can be missing.

signals

include/gdb/signals.h

commands

replies

dictionary

Word / Abbreviation Explanation
IDE Integrated Development environment
MCU Micro Controller Unit
addressable memory units TODO