OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.2/] [gdb/] [doc/] [gdb.texinfo] - Diff between revs 330 and 339

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 330 Rev 339
Line 522... Line 522...
Steve Tjiang, John Newlin, and Scott Foehner.
Steve Tjiang, John Newlin, and Scott Foehner.
 
 
Michael Eager and staff of Xilinx, Inc., contributed support for the
Michael Eager and staff of Xilinx, Inc., contributed support for the
Xilinx MicroBlaze architecture.
Xilinx MicroBlaze architecture.
 
 
 
The original port to the OpenRISC 1000 is believed to be due to
 
Alessandro Forin and Per Bothner. More recent ports have been the work
 
of Jeremy Bennett.
 
 
@node Sample Session
@node Sample Session
@chapter A Sample @value{GDBN} Session
@chapter A Sample @value{GDBN} Session
 
 
You can use this manual at your leisure to read all about @value{GDBN}.
You can use this manual at your leisure to read all about @value{GDBN}.
However, a handful of commands are enough to get started using the
However, a handful of commands are enough to get started using the
Line 18306... Line 18310...
 
 
@node OpenRISC 1000
@node OpenRISC 1000
@subsection OpenRISC 1000
@subsection OpenRISC 1000
@cindex OpenRISC 1000
@cindex OpenRISC 1000
 
 
@cindex or1k boards
Previous versions of @value{GDBN} supported remote connection via a
See OR1k Architecture document (@uref{www.opencores.org}) for more information
proprietary JTAG protocol using the @samp{target jtag} command. Support
about platform and commands.
for this has now been dropped.
 
 
 
 
@table @code
@table @code
 
 
@kindex target jtag
@kindex target remote
@item target jtag jtag://@var{host}:@var{port}
@item target remote
 
 
 
This is now the only way to connect to a remote OpenRISC 1000
 
target.  This is supported by @dfn{Or1ksim}, the OpenRISC 1000
 
architectural simulator, and Verilator and Icarus Verilog
 
simulations.  @dfn{Remote serial protocol} servers are also available to
 
drive various hardware implementations via JTAG.
Connects to remote JTAG server.
Connects to remote JTAG server.
JTAG remote server can be either an or1ksim or JTAG server,
 
connected via parallel port to the board.
 
 
 
Example: @code{target jtag jtag://localhost:9999}
Example: @code{target remote :51000}
 
 
 
@kindex target sim
 
@item target sim
 
 
@kindex or1ksim
@dfn{Or1ksim}, the OpenRISC 1000 architectural simulator is now
@item or1ksim @var{command}
incorporated within @value{GDBN} as a simulator target.  It is started
If connected to @code{or1ksim} OpenRISC 1000 Architectural
in quiet mode with 8M of memory starting at address 0.  It is possible
Simulator, proprietary commands can be executed.
to pass arguments to extend this configuration using the @samp{-f}
 
option to @samp{target sim}.  However for more complex use, the user is
 
advised to run @dfn{Or1ksim} separately, with its own configuration
 
file, and connect using @samp{target remote}
 
 
@kindex info or1k spr
Example: @code{target sim}
 
 
 
@kindex info spr
@item info or1k spr
@item info or1k spr
Displays spr groups.
Displays groups.
 
 
@item info or1k spr @var{group}
@item info spr @var{group}
@itemx info or1k spr @var{groupno}
@itemx info spr @var{groupno}
Displays register names in selected group.
Displays register names in selected group.
 
 
@item info or1k spr @var{group} @var{register}
@item info spr @var{group} @var{register}
@itemx info or1k spr @var{register}
@itemx info spr @var{register}
@itemx info or1k spr @var{groupno} @var{registerno}
@itemx info spr @var{groupno} @var{registerno}
@itemx info or1k spr @var{registerno}
@itemx info spr @var{registerno}
Shows information about specified spr register.
Shows information about specified spr register.
 
 
 
Example: @code{info spr DRR}
 
 
 
@code{DEBUG.DRR = SPR6_21 = 0 (0x0)}
 
 
@kindex spr
@kindex spr
@item spr @var{group} @var{register} @var{value}
@item spr @var{group} @var{register} @var{value}
@itemx spr @var{register @var{value}}
@itemx spr @var{register @var{value}}
@itemx spr @var{groupno} @var{registerno @var{value}}
@itemx spr @var{groupno} @var{registerno @var{value}}
@itemx spr @var{registerno @var{value}}
@itemx spr @var{registerno @var{value}}
Writes @var{value} to specified spr register.
Writes @var{value} to specified spr register.
@end table
 
 
 
Some implementations of OpenRISC 1000 Architecture also have hardware trace.
Example: spr PICMR 0x24
It is very similar to @value{GDBN} trace, except it does not interfere with normal
 
program execution and is thus much faster.  Hardware breakpoints/watchpoint
 
triggers can be set using:
 
@table @code
 
@item $LEA/$LDATA
 
Load effective address/data
 
@item $SEA/$SDATA
 
Store effective address/data
 
@item $AEA/$ADATA
 
Access effective address ($SEA or $LEA) or data ($SDATA/$LDATA)
 
@item $FETCH
 
Fetch data
 
@end table
@end table
 
 
When triggered, it can capture low level data, like: @code{PC}, @code{LSEA},
The use of @samp{info} and @samp{spr} commands is anachronistic.  At
@code{LDATA}, @code{SDATA}, @code{READSPR}, @code{WRITESPR}, @code{INSTR}.
some time in the future they will be replaced by @samp{show spr} and
 
@samp{set spr}.
@code{htrace} commands:
 
@cindex OpenRISC 1000 htrace
 
@table @code
 
@kindex hwatch
 
@item hwatch @var{conditional}
 
Set hardware watchpoint on combination of Load/Store Effective Address(es)
 
or Data.  For example:
 
 
 
@code{hwatch ($LEA == my_var) && ($LDATA < 50) || ($SEA == my_var) && ($SDATA >= 50)}
 
 
 
@code{hwatch ($LEA == my_var) && ($LDATA < 50) || ($SEA == my_var) && ($SDATA >= 50)}
 
 
 
@kindex htrace
There are some known problems with the current implementation
@item htrace info
@cindex OpenRISC 1000 known problems
Display information about current HW trace configuration.
 
 
 
@item htrace trigger @var{conditional}
@enumerate
Set starting criteria for HW trace.
 
 
 
@item htrace qualifier @var{conditional}
 
Set acquisition qualifier for HW trace.
 
 
 
@item htrace stop @var{conditional}
 
Set HW trace stopping criteria.
 
 
 
@item htrace record [@var{data}]*
 
Selects the data to be recorded, when qualifier is met and HW trace was
 
triggered.
 
 
 
@item htrace enable
 
@itemx htrace disable
 
Enables/disables the HW trace.
 
 
 
@item htrace rewind [@var{filename}]
 
Clears currently recorded trace data.
 
 
 
If filename is specified, new trace file is made and any newly collected data
 
will be written there.
 
 
 
@item htrace print [@var{start} [@var{len}]]
 
Prints trace buffer, using current record configuration.
 
 
 
@item htrace mode continuous
@item
Set continuous trace mode.
@cindex OpenRISC 1000 known problems, hardware breakpoints and watchpoints
 
Some OpenRISC 1000 targets support hardware breakpoints and watchpoints.
 
Consult the target documentation for details.  @value{GDBN} is not
 
perfect in handling of watchpoints.  It is possible to allocate hardware
 
watchpoints and not discover until running that sufficient watchpoints
 
are not available.  It is also possible that GDB will report watchpoints
 
being hit spuriously.  This can be down to the assembly code having
 
additional memory accesses that are not obviously reflected in the
 
source code.
 
 
 
@item
 
@cindex OpenRISC 1000 known problems, architectural compatability
 
The OpenRISC 1000 architecture has evolved since the first port of @value{GDBN}. In particular the structure of the Unit Present register has
 
changed and the CPU Configuration register has been added.  The port of
 
@value{GDBN} version @value{GDBVN} uses the @emph{current}
 
specification of the OpenRISC 1000.
 
 
@item htrace mode suspend
@end enumerate
Set suspend trace mode.
 
 
 
@end table
@cindex Bugs, reporting
 
@cindex Reporting bugs
 
Reports of bugs are much welcomed. Please report problems through the
 
OpenRISC tracker at @uref{http://opencores.org/openrisc,downloads}.
 
 
@node PowerPC Embedded
@node PowerPC Embedded
@subsection PowerPC Embedded
@subsection PowerPC Embedded
 
 
@cindex DVC register
@cindex DVC register

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.