blob: 48397558d712c36567bb49ca4daaff796d31e3cb [file] [log] [blame]
<html lang="en">
<head>
<title>Target Descriptions - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Agent-Expressions.html#Agent-Expressions" title="Agent Expressions">
<link rel="next" href="Operating-System-Information.html#Operating-System-Information" title="Operating System Information">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.
(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual. Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Target-Descriptions"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Operating-System-Information.html#Operating-System-Information">Operating System Information</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Agent-Expressions.html#Agent-Expressions">Agent Expressions</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>
<h2 class="appendix">Appendix G Target Descriptions</h2>
<p><a name="index-target-descriptions-2535"></a>
<strong>Warning:</strong> target descriptions are still under active development,
and the contents and format may change between <span class="sc">gdb</span> releases.
The format is expected to stabilize in the future.
<p>One of the challenges of using <span class="sc">gdb</span> to debug embedded systems
is that there are so many minor variants of each processor
architecture in use. It is common practice for vendors to start with
a standard processor core &mdash; ARM, PowerPC, or MIPS, for example &mdash;
and then make changes to adapt it to a particular market niche. Some
architectures have hundreds of variants, available from dozens of
vendors. This leads to a number of problems:
<ul>
<li>With so many different customized processors, it is difficult for
the <span class="sc">gdb</span> maintainers to keep up with the changes.
<li>Since individual variants may have short lifetimes or limited
audiences, it may not be worthwhile to carry information about every
variant in the <span class="sc">gdb</span> source tree.
<li>When <span class="sc">gdb</span> does support the architecture of the embedded system
at hand, the task of finding the correct architecture name to give the
<samp><span class="command">set architecture</span></samp> command can be error-prone.
</ul>
<p>To address these problems, the <span class="sc">gdb</span> remote protocol allows a
target system to not only identify itself to <span class="sc">gdb</span>, but to
actually describe its own features. This lets <span class="sc">gdb</span> support
processor variants it has never seen before &mdash; to the extent that the
descriptions are accurate, and that <span class="sc">gdb</span> understands them.
<p><span class="sc">gdb</span> must be linked with the Expat library to support XML
target descriptions. See <a href="Expat.html#Expat">Expat</a>.
<ul class="menu">
<li><a accesskey="1" href="Retrieving-Descriptions.html#Retrieving-Descriptions">Retrieving Descriptions</a>: How descriptions are fetched from a target.
<li><a accesskey="2" href="Target-Description-Format.html#Target-Description-Format">Target Description Format</a>: The contents of a target description.
<li><a accesskey="3" href="Predefined-Target-Types.html#Predefined-Target-Types">Predefined Target Types</a>: Standard types available for target
descriptions.
<li><a accesskey="4" href="Standard-Target-Features.html#Standard-Target-Features">Standard Target Features</a>: Features <span class="sc">gdb</span> knows about.
</ul>
</body></html>