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.
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...
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...
-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.
*.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...
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.
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...
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:...
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 ).
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...
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.
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.
Need help?
Do you have a question about the GDB Server and is the answer not in the manual?
Questions and answers