Chapter 5. Sourcery G++ Debug Sprite
Prev |  | Next

## Chapter 5. Sourcery G++ Debug Sprite

This chapter describes the use of the Sourcery G++ Debug Sprite for remote debugging. The Sprite is provided for debugging of the uClinux kernel on the target board. This chapter includes information about the debugging devices and boards supported by the Sprite for ARM uClinux.

Sourcery G++ Lite contains the Sourcery G++ Debug Sprite for ARM uClinux. This Sprite is provided to allow debugging of programs running on a bare board. You can use the Sprite to debug a program when there is no operating system on the board, or for debugging the operating system itself. If the board is running an operating system, and you wish to debug a program running on that OS, you should use the facilities provided by the OS itself (for instance, using `gdbserver`).

The Sprite acts as an interface between GDB and external debug devices and libraries. Refer to Section 5.2, “Invoking Sourcery G++ Debug Sprite” for information about the specific devices supported by this version of Sourcery G++ Lite.

### Note for uClinux users

The Debug Sprite provided with Sourcery G++ Lite allows remote debugging of the uClinux kernel running on the target. For remote debugging of application programs, you should use `gdbserver` instead. See Chapter 3, “Sourcery G++ Lite for ARM uClinux” for details about how to install and run `gdbserver` on the target.

### Important

The Sourcery G++ Debug Sprite is not part of the GNU Debugger and is not free or open-source software. You may use the Sourcery G++ Debug Sprite only with the GNU Debugger. You may not distribute the Sourcery G++ Debug Sprite to any third party.

## 5.1. Probing for Debug Devices

Before running the Sourcery G++ Debug Sprite for the first time, or when attaching new debug devices to your host system, it is helpful to verify that the Sourcery G++ Debug Sprite recognizes your debug hardware. From the command line, invoke the Sprite with the `-i` option:

    > arm-uclinuxeabi-sprite -i

This prints out a list of supported device types. For devices that can be autodetected, it additionally probes for and prints out a list of attached devices. For instance:

    CodeSourcery ARM Debug Sprite
        (Sourcery G++ Lite 2010.09-58)
    armusb: [speed=<n:0-7>] ARMUSB (Stellaris) device
      armusb:///0B01000C - Stellaris Evaluation Board (0B01000C)
    rdi: (rdi-library=<file>&rdi-config=<file>) RDI Device
      rdi:/// - RDI Device

This shows that ARMUSB and RDI devices are supported. The exact set of supported devices depends on your host system and the version of Sourcery G++ you have installed; refer to Section 5.2, “Invoking Sourcery G++ Debug Sprite” for complete information.

Note that it may take several seconds for the Debug Sprite to probe for all types of supported devices.

Prev |  | Next
4.3. Running Applications from GDB | Home | 5.2. Invoking Sourcery G++ Debug Sprite