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 Linux or uClinux kernel on the target board. This chapter includes information about the debugging devices and boards supported by the Sprite for ColdFire GNU/Linux.

Table of Contents

5.1. Probing for Debug Devices
5.2. Invoking Sourcery G++ Debug Sprite
5.3. Sourcery G++ Debug Sprite Options
5.4. P&E Devices
5.5. Command Converter Server Devices
5.6. Turbo BDM Light ColdFire Devices
5.7. Open Source BDM Devices
5.8. Debugging a Remote Board
5.9. Implementation Details
5.10. Supported Board Files
5.11. Board File Syntax

Sourcery G++ Lite contains the Sourcery G++ Debug Sprite for ColdFire 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 Section 5.2, “Invoking Sourcery G++ Debug Sprite” for information about the specific devices supported by this version of Sourcery G++ Lite.

Note for Linux/uClinux users

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 ColdFire GNU/Linux” 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:

> m68k-linux-gnu-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 ColdFire Debug Sprite
    (Sourcery G++ Lite Sourcery G++ Lite 4.4-54)
pe: [speed=<n:0-31>&memory-timeout=<n:0-99>] P&E Adaptor
  pe://USBMultilink/PE6011970 - USB1 : USB-ML-CF Rev C (PE6011970)
  pe://CycloneProMaxEthernet/10.0.0.85 - 10.0.0.85  :  cyclone1
ccs: [timeout=<n>&speed=<n>] CCS Protocol
  ccs://$Host:$Port/$Chain_position - CCS address
tblcf: TBLCF Interface
  tblcf://:0/ - TBLCF device
osbdm: Open Source BDM
  osbdm://0/ - OSBDM device

This shows that P&E, Command Converter Server (CCS), Turbo BDM Light ColdFire (TBLCF), and Open Source BDM (OSBDM) devices are supported. Two P&E devices are detected, one TBLCF device, and one OSBDM device. Although CCS devices are supported, they cannot be autodetected.

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