Coprocessor And Peripheral Registers - SIGNUM Systems GDB Server User Manual

Gdb server for arm, xscale and cortex
Table of Contents

Advertisement

(gdb) monitor –d stop
(gdb) # Reset, wait 100ms, then stop.
(gdb) cont
See also an example of the delayed monitor command use in the
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:
sigGdbServer -cpu iMX31 -init –reg iMX31 –reg c:\myboard.def
Notice the repeated use of the –reg option which loads register definitions from multiple files.
The –reg option accepts files in Signum Chameleon (.def) format only. See Chameleon Debugger:
User Manual 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 file location is the "target" subfolder of the server's installation folder.
The memory mapped peripheral registers are aggregated into the io structure. The io structure is
subdivided into groups. (The structure and group names are case-sensitive.) The GDB ptype
command returns information about the register list structure:
(gdb) ptype $io
type = struct io {
CCM CCM;
IOMUXC IOMUXC;
GPIO1 GPIO1;
...
}
(gdb) ptype $io.CCM
type = struct CCM {
int32_t CCMR;
int32_t PDR0;
int32_t PDR1;
...
int32_t LTBR0;
}
To display a register value, use the print command.
(gdb) p /x $io.CCM.CCMR
$2 = 0x74b097d
A register can be modified using the set var command.
(gdb) set var $io.CCM.CCMR=0x74b0b7c
Some Eclipse debugger versions, such as Sourcery G++ IDE, display the peripheral registers in
the register window as the IO group.
G D B
S E R V E R
F O R
A R M ,
X S C A L E
A N D
U S E R
Debugging Embedded Linux
C O R T E X
M A N U A L
11

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?

Table of Contents