SIGNUM Systems GDB Server User Manual

Gdb server for arm, xscale and cortex

Advertisement

Quick Links

Server
series
S I G N U M S Y S T E M S C O R P O R A T I O N
GDB Server for ARM, XScale and Cortex
User
Manual

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the GDB Server and is the answer not in the manual?

Questions and answers

Summary of Contents for SIGNUM Systems GDB Server

  • Page 1 Server series S I G N U M S Y S T E M S C O R P O R A T I O N GDB Server for ARM, XScale and Cortex User Manual...
  • Page 2 C O P Y R I G H T N O T I C E Copyright (c) 2011 by Signum Systems Corporation. All rights are reserved worldwide. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or otherwise, without the prior written permission of Signum Systems.
  • Page 3: Table Of Contents

    Usage Emulation Parameter File Macro/Initialization Files Board and CPU Customization Loading to Flash Configuring the Debugger GNU GDB Debugger Code Sourcery G++ IDE Using GDB with the GDB Server The GDB Monitor Command Coprocessor and Peripheral Registers Debugging Embedded Linux...
  • Page 4: Preliminaries

    If your emulator does not have it, an external license file must be obtained from Signum Systems. Once received, the Jxxxxx-Gdb.lic file needs to be placed in the directory where SigGdbServer.exe resides. (The xxxxx part of the actual file name is the serial number of your JTAGjet emulator.) Alternately, the license file can be placed in the...
  • Page 5: Installation

    -connect option, which allows you to specify a new emulator serial number. License Installation A new JTAGjet emulator for GDB Server comes with a license already installed in the hardware. When converting (upgrading) a JTAGjet emulator to work with the GDB Server, Signum provides an appropriate *.lic license file.
  • Page 6: Configuring The Server

    *.lic license file. Copy this file to either the $HOME/Signum/Licenses or /etc/Signum/Licenses directory. This will make the license available to all your Signum applications. To make the license available exclusively to the Signum GDB server, put the license file in the directory where you installed SigGdbServer.
  • Page 7 S I G N U M S Y S T E M S 8 3 0 - RAM for the flash programmer, 16k@0x0. -no-flash-write - Restrict flash write to context defined by commands monitor flash before-load and monitor flash after-load. Examples C O N N E C T T O T H E I M X 3 1 P R O C E S S O R ( V E R B O S E V E R S I O N ) sigGdbServer -emu iMX31.par -init iMX31.ini...
  • Page 8: Emulation Parameter File

    G D B S E R V E R F O R A R M , X S C A L E A N D C O R T E X U S E R M A N U A L Emulation Parameter File The core and CPU dependent emulation parameters are stored in the .par file used in conjunction with the -emu option.
  • Page 9: Board And Cpu Customization

    DB, DW and DD macro commands to validate your settings. Loading to Flash The GDB server can load the code directly to flash memory. The flash type and its base address should be provided through the –flash option. Examples of how to configure the GDB server...
  • Page 10: Configuring The Debugger

    Waiting (romek2, 169.254.81.233):2000 Start the GDB debugger and execute the “target remote <host>:<port>” command to establish a connection with the GDB server, as shown in the following examples. Connecting to the server from a remote host computer named “labstation” via port 2000:...
  • Page 11: Code Sourcery G++ Ide

    SigGdbServer receives commands from the debugger on its standard input and sends answers on its standard output. No network connection is used. This mode allows the debugger to run the GDB server locally, possibly connecting each time to a different target. To start the server using a pipe, enter in GDB (gdb) target remote | C:/Signum/SigGdbServer/SigGdbServer.exe –s -cpu iMX31...
  • Page 12 Enter the path to it in the “GDB Command File” field in the Main tab ( Figure 1 FIGURE 3 Using the GDB startup command file. Before you open the debug perspective and begin a debugging session, run the GDB Server, as described in the section (page ).
  • Page 13: Using Gdb With The Gdb Server

    Press the Debug button. Using GDB with the GDB Server The GDB Monitor Command SigGdbServer provides the following commands for sending special requests to the GDB server. JTAGjet GDB Server commands: flash before-load - before loading a new program...
  • Page 14: Coprocessor And Peripheral Registers

    Debugging Embedded Linux chapter. Coprocessor and Peripheral Registers The GDB server provides access to the ARM coprocessor registers and memory mapped peripheral registers. Peripheral Registers A definition of peripheral registers may be loaded as a part of the server configuration, using the –reg option, like this:...
  • Page 15 S I G N U M S Y S T E M S 8 3 0 Coprocessor Registers Coprocessor registers are defined for a core rather than a processor. The register description comes from the cores\<core>.def file which has the same format as the peripheral registers file. In our iMX31 processor (ARM1136J-S core) example, the register description is taken from the core\ARM1136J-S.def file.
  • Page 16: Debugging Embedded Linux

    G D B S E R V E R F O R A R M , X S C A L E A N D C O R T E X U S E R M A N U A L Debugging Embedded Linux This is an example of loading a Linux kernel to RAM.
  • Page 17 S I G N U M S Y S T E M S 8 3 0 (gdb) # machid (gdb) p /x $r1 $12 = 0x84d (gdb) # boot args (gdb) p /x $r2 $13 = 0x90000100 (gdb) # Set a hardware breakpoint at start_kernel(). (gdb) hbreak start_kernel Hardware assisted breakpoint 6 at 0xc00087b0: file init/main.c, line 547.

Table of Contents