gbdk-releases/sdcc/doc/sdccman.html/node18.html
2015-01-10 16:25:09 +01:00

232 lines
7.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>2.8 Components of SDCC</TITLE>
<META NAME="description" CONTENT="2.8 Components of SDCC">
<META NAME="keywords" CONTENT="sdccman">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="sdccman.css">
<LINK REL="previous" HREF="node17.html">
<LINK REL="up" HREF="node10.html">
<LINK REL="next" HREF="node19.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html473"
HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
<A NAME="tex2html467"
HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
<A NAME="tex2html463"
HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
<A NAME="tex2html469"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
<A NAME="tex2html471"
HREF="node61.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A>
<BR>
<B> Next:</B> <A NAME="tex2html474"
HREF="node19.html">3. Using SDCC</A>
<B> Up:</B> <A NAME="tex2html468"
HREF="node10.html">2. Installation</A>
<B> Previous:</B> <A NAME="tex2html464"
HREF="node17.html">2.7 Advanced Install Options</A>
&nbsp <B> <A NAME="tex2html470"
HREF="node1.html">Contents</A></B>
&nbsp <B> <A NAME="tex2html472"
HREF="node61.html">Index</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html475"
HREF="node18.html#SECTION00038100000000000000">2.8.1 sdcc - The Compiler</A>
<LI><A NAME="tex2html476"
HREF="node18.html#SECTION00038200000000000000">2.8.2 sdcpp (C-Preprocessor)</A>
<LI><A NAME="tex2html477"
HREF="node18.html#SECTION00038300000000000000">2.8.3 asx8051, as-z80, as-gbz80, aslink, link-z80, link-gbz80 (The Assemblers
and Linkage Editors)</A>
<LI><A NAME="tex2html478"
HREF="node18.html#SECTION00038400000000000000">2.8.4 s51 - Simulator</A>
<LI><A NAME="tex2html479"
HREF="node18.html#SECTION00038500000000000000">2.8.5 sdcdb - Source Level Debugger</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<H2><A NAME="SECTION00038000000000000000">
2.8 Components of SDCC</A>
</H2>
<P>
SDCC is not just a compiler, but a collection of tools by various
developers. These include linkers, assemblers, simulators and other
components. Here is a summary of some of the components. Note that
the included simulator and assembler have separate documentation which
you can find in the source package in their respective directories.
As SDCC grows to include support for other processors, other packages
from various developers are included and may have their own sets of
documentation.
<BR>
<BR>
You might want to look at the files which are installed in &lt;installdir&gt;.
At the time of this writing, we find the following programs:
<BR>
<BR>
In &lt;installdir&gt;/bin:
<P>
<UL>
<LI>sdcc - The compiler.</LI>
<LI>sdcpp - The C preprocessor.</LI>
<LI>asx8051 - The assembler for 8051 type processors.</LI>
<LI>as-z80<B>,</B> as-gbz80 - The Z80 and GameBoy Z80 assemblers.</LI>
<LI>aslink -The linker for 8051 type processors.</LI>
<LI>link-z80<B>,</B> link-gbz80 - The Z80 and GameBoy Z80 linkers.</LI>
<LI>s51 - The ucSim 8051 simulator.</LI>
<LI>sdcdb - The source debugger.</LI>
<LI>packihx - A tool to pack Intel hex files.</LI>
</UL>
In &lt;installdir&gt;/share/sdcc/include
<P>
<UL>
<LI>the include files</LI>
</UL>
In &lt;installdir&gt;/share/sdcc/lib
<P>
<UL>
<LI>the sources of the runtime library and the subdirs small large and
ds390 with the precompiled relocatables.</LI>
</UL>
In &lt;installdir&gt;/share/sdcc/doc
<P>
<UL>
<LI>the documentation</LI>
</UL>
As development for other processors proceeds, this list will expand
to include executables to support processors like AVR, PIC, etc.
<P>
<H3><A NAME="SECTION00038100000000000000">
2.8.1 sdcc - The Compiler</A>
</H3>
<P>
This is the actual compiler, it in turn uses the c-preprocessor and
invokes the assembler and linkage editor.
<P>
<H3><A NAME="SECTION00038200000000000000">
2.8.2 sdcpp (C-Preprocessor)</A>
</H3>
<P>
The preprocessor is a modified version of the GNU preprocessor. The
C preprocessor is used to pull in #include sources, process #ifdef
statements, #defines and so on.
<P>
<H3><A NAME="SECTION00038300000000000000">
2.8.3 asx8051, as-z80, as-gbz80, aslink, link-z80, link-gbz80 (The Assemblers
and Linkage Editors)</A>
</H3>
<P>
This is retargettable assembler &amp; linkage editor, it was developed
by Alan Baldwin. John Hartman created the version for 8051, and I
(Sandeep) have made some enhancements and bug fixes for it to work
properly with the SDCC.
<P>
<H3><A NAME="SECTION00038400000000000000">
2.8.4 s51 - Simulator</A>
</H3>
<P>
S51 is a freeware, opensource simulator developed by Daniel Drotos
( mailto:drdani@mazsola.iit.uni-miskolc.hu). The simulator is
built as part of the build process. For more information visit Daniel's
website at: http://mazsola.iit.uni-miskolc.hu/&nbsp;drdani/embedded/s51
.
<P>
<H3><A NAME="SECTION00038500000000000000">
2.8.5 sdcdb - Source Level Debugger</A>
</H3>
<P>
Sdcdb is the companion source level debugger. The current version
of the debugger uses Daniel's Simulator S51, but can be easily changed
to use other simulators.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html473"
HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
<A NAME="tex2html467"
HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
<A NAME="tex2html463"
HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
<A NAME="tex2html469"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
<A NAME="tex2html471"
HREF="node61.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A>
<BR>
<B> Next:</B> <A NAME="tex2html474"
HREF="node19.html">3. Using SDCC</A>
<B> Up:</B> <A NAME="tex2html468"
HREF="node10.html">2. Installation</A>
<B> Previous:</B> <A NAME="tex2html464"
HREF="node17.html">2.7 Advanced Install Options</A>
&nbsp <B> <A NAME="tex2html470"
HREF="node1.html">Contents</A></B>
&nbsp <B> <A NAME="tex2html472"
HREF="node61.html">Index</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
<I>Johan Knol</I>
<BR><I>2001-07-13</I>
</ADDRESS>
</BODY>
</HTML>