background image

S I G N U M   S Y S T E M S  

8 3 0

 

Note: 

You cannot use Chameleon’s startup macro as is. 

However, most Chameleon macros can be modified for the 
use with the GDB server.

 

Board and CPU Customization 

Connecting to custom-made boards and processors involves the following steps. 

1. 

Appropriately modify the emulation parameter file specified in the -emu option. If 

Chameleon Debugger is connected to the CPU, some of the parameters returned by the emu 
command may need to be stored in this file. Start the GDB server to verify the connection 
to the target. 

2. 

Adjust the startup macro and termination macro used with the -init and -term options, 
respectively. The initialization macro should enable RAM on the target, set up the PLL, and 
kill the watchdogs. If you are loading code to flash, enable write access to the flash. 

3. 

When testing your macros, use the ECHO ON directive to receive screen feedback. Also, 
utilize the 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 
for several microcontrollers with internal flash memory are shown on page 

4

The current version of the server supports the following flash types: 

 

external CFI compatible NOR flash, 

 

internal flash in most microcontrollers based on the ARM7, ARM9, and Cortex-M3 cores. 

 

Some target systems utilize RAM to improve programming speed. Use the –ram option to 

specify the size and location of a RAM buffer on the target processor. Typically, 2KB of RAM is 
ample for efficient flash programming. 
For more information on the supported flash types and flash specific parameters see 

Command-

Line Flasher for ARM, XScale and Cortex: User Manual,

 available at

 signum.com/tecdoc.htm

There is no need to define in the debugger where the flash is located. Writing to flash memory 
from within the debugger invokes the flash programmer automatically. This allows you both to 

download the code to the flash using simple load and file commands and to write directly at an 
arbitrary flash address using the -data-write-memory command or an assignment expression like 

this: 

(gdb) set *(char *)0x100 = 0x12 
 

To restrict flash programming to code loading, call the server with the -no-flash-write option. 
This option requires any loading to the flash to be preceded by the “monitor flash before-load” 

and followed by the “monitor flash after-load” GDB commands. 

Summary of Contents for GDB Server

Page 1: ...SIGNUM SY STEMS CORPORATION GDB Server for ARM XScale and Cortex User Manual Server series...

Page 2: ...tion of such revision or changes WARRANTY Signum Systems warrants to the original purchaser that this product is free of defects in material and workmanship and performs to applicable published Signum...

Page 3: ...the Server 3 Usage 3 Emulation Parameter File 5 Macro Initialization Files 5 Board and CPU Customization 6 Loading to Flash 6 Configuring the Debugger 7 GNU GDB Debugger 7 Code Sourcery G IDE 8 Using...

Page 4: ...er emulator tandem requires a license 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 di...

Page 5: ...finition files boards par ini CPU and target specific parameter and board initialization files targets def Peripheral register definition files Drivers USB JTAGjet USB driver TABLE 1 The contents of t...

Page 6: ...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 SigGdbServ...

Page 7: ...T H A N O R F L A S H A T 0 X A 0 0 0 _ 0 0 0 0 sigGdbServer cpu iMX31 init flash cfi 0xA000_0000 ram 16k 0x1FFF_C000 C O N N E C T T O T H E L U M I N A R Y M I C R O L M 3 S X X X P R O C E S S O R...

Page 8: ...SB S16 SW S32 SD addr value OR value with memory at addr S8 SB S16 SW S32 SD addr value AND value with memory at addr S8 SB S16 SW S32 SD addr value XOR value with memory at addr D8 DB D16 DW D32 DD...

Page 9: ...figure the GDB server for several microcontrollers with internal flash memory are shown on page 4 The current version of the server supports the following flash types external CFI compatible NOR flash...

Page 10: ...ecting to the server on the local machine gdb target remote localhost 2000 The server will report a successful connection If GDB can read an XML target description from a target the server will load t...

Page 11: ...t simultaneously The server may also be started directly from the GDB debugger using a pipe So started SigGdbServer receives commands from the debugger on its standard input and sends answers on its s...

Page 12: ...g External Embedded Server and connection parameters 3 JTAGjet GDB Server ver 1 06 and earlier require the verbose resume mode to be disabled Add the following command to your gdbinit file set remote...

Page 13: ...e described in section Loading to Flash page 6 The set verify memory command controls memory verification by the server after writing As write operations involving 4 or less bytes may be attempts to a...

Page 14: ...nual for the format description If the file name extension or the file path matches its default value it can be omitted The default extension of the register definition file is def and the default fil...

Page 15: ...command gdb set var CP15 CONTROL 0x51078 Alternatively coprocessor registers may be accessed using one of the monitor commands See Table 2 on page 5 for a list of available commands For instance gdb...

Page 16: ...ead size 0x240 lma 0x90008000 Loading section init size 0x1edc0 lma 0x90008240 Loading section text size 0x34f5b8 lma 0x90027000 Loading section text init size 0xd4 lma 0x903765b8 Loading section __ks...

Page 17: ...Set a hardware breakpoint at start_kernel gdb hbreak start_kernel Hardware assisted breakpoint 6 at 0xc00087b0 file init main c line 547 gdb c Continuing Breakpoint 6 start_kernel at init main c 547 5...

Reviews: