This chapter describes the use of the Sourcery G++ Debug Sprite for remote debugging. The Sprite is provided for debugging of the Linux or uClinux kernel on the target board. This chapter includes information about the debugging devices and boards supported by the Sprite for ARM GNU/Linux.
Table of Contents
Sourcery G++ Lite contains the Sourcery G++ Debug Sprite for ARM GNU/Linux. 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 the section called “Invoking Sourcery G++ Debug Sprite” for information about the specific devices supported by this version of Sourcery G++ Lite.
The Debug Sprite provided with Sourcery G++ Lite allows remote debugging of the Linux or 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 GNU/Linux for details about how to install and run gdbserver on the target.
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.
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-none-linux-gnueabi-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 Sourcery G++ Lite 2009q1-203) armusb: [speed=<n:0-7>] ARMUSB device armusb:/// - ARMUSB Device 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 the section called “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.