90 lines
4.7 KiB
HTML
90 lines
4.7 KiB
HTML
<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-2019 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>
|
|
</head>
|
|
<body>
|
|
<div class="node">
|
|
<a name="Target-Descriptions"></a>
|
|
<p>
|
|
Next: <a rel="next" accesskey="n" href="Operating-System-Information.html#Operating-System-Information">Operating System Information</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="Agent-Expressions.html#Agent-Expressions">Agent Expressions</a>,
|
|
Up: <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-3638"></a>
|
|
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 — ARM, PowerPC, or <acronym>MIPS</acronym>, for example —
|
|
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 — 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="Enum-Target-Types.html#Enum-Target-Types">Enum Target Types</a>: How to define enum target types.
|
|
<li><a accesskey="5" href="Standard-Target-Features.html#Standard-Target-Features">Standard Target Features</a>: Features <span class="sc">gdb</span> knows about.
|
|
</ul>
|
|
|
|
</body></html>
|
|
|