<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2008 (1.71) 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>3.2.4 MCS51 Options</TITLE> <META NAME="description" CONTENT="3.2.4 MCS51 Options"> <META NAME="keywords" CONTENT="sdccman"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META NAME="Generator" CONTENT="LaTeX2HTML v2008"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="sdccman.css"> <LINK REL="next" HREF="node50.html"> <LINK REL="previous" HREF="node48.html"> <LINK REL="up" HREF="node45.html"> <LINK REL="next" HREF="node50.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html1404" HREF="node50.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html1398" HREF="node45.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html1392" HREF="node48.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html1400" HREF="node1.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <A NAME="tex2html1402" HREF="node191.html"> <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> <BR> <B> Next:</B> <A NAME="tex2html1405" HREF="node50.html">3.2.5 DS390 / DS400</A> <B> Up:</B> <A NAME="tex2html1399" HREF="node45.html">3.2 Command Line Options</A> <B> Previous:</B> <A NAME="tex2html1393" HREF="node48.html">3.2.3 Linker Options</A> <B> <A NAME="tex2html1401" HREF="node1.html">Contents</A></B> <B> <A NAME="tex2html1403" HREF="node191.html">Index</A></B> <BR> <BR> <!--End of Navigation Panel--> <H2><A NAME="SECTION00424000000000000000"></A><A NAME="966"></A><A NAME="967"></A> <BR> 3.2.4 MCS51 Options </H2> <UL> <LI>[<B>--model-small<A NAME="970"></A></B>] Generate code for Small model programs, see section Memory Models for more details. This is the default model. </LI> <LI>[<B>--model-medium<A NAME="971"></A></B>] Generate code for Medium model programs, see section Memory Models for more details. If this option is used all source files in the project have to be compiled with this option. It must also be used when invoking the linker. </LI> <LI>[<B>--model-large<A NAME="972"></A></B>] Generate code for Large model programs, see section Memory Models for more details. If this option is used all source files in the project have to be compiled with this option. It must also be used when invoking the linker. </LI> <LI>[<B>--model-huge<A NAME="973"></A></B>] Generate code for Huge model programs, see section Memory Models for more details. If this option is used all source files in the project have to be compiled with this option. It must also be used when invoking the linker. </LI> <LI>[<B>--xstack<A NAME="974"></A></B>] Uses a pseudo stack in the pdata<A NAME="975"></A> area (usually the first 256 bytes in the external ram) for allocating variables and passing parameters. See section <A HREF="node98.html#sub:External-Stack">3.18.1.2</A> External Stack for more details. </LI> <LI>[<B>--iram-size</B> <Value><A NAME="978"></A>] Causes the linker to check if the internal ram usage is within limits of the given value. </LI> <LI>[<B>--xram-size</B> <Value><A NAME="980"></A>] Causes the linker to check if the external ram usage is within limits of the given value. </LI> <LI>[<B>--code-size</B> <Value><A NAME="982"></A>] Causes the linker to check if the code memory usage is within limits of the given value. </LI> <LI>[<B>--stack-size</B> <Value><A NAME="984"></A>] Causes the linker to check if there is at minimum <Value> bytes for stack. </LI> <LI>[<B>--pack-iram</B> <A NAME="986"></A>] Causes the linker to use unused register banks for data variables and pack data, idata and stack together. This is the default and this option will probably be removed along with the removal of --no-pack-iram. </LI> <LI>[<B>--no-pack-iram</B> (deprecated)<A NAME="988"></A>] Causes the linker to use old style for allocating memory areas. This option is now deprecated and will be removed in future versions. </LI> <LI>[<B>--acall-ajmp</B> <A NAME="990"></A>] Replaces the three byte instructions lcall/ljmp with the two byte instructions acall/ajmp. Only use this option if your code is in the same 2k block of memory. You may need to use this option for some 8051 derivatives which lack the lcall/ljmp instructions.. </LI> </UL> <P><P> <BR> <P> <HR> <!--Navigation Panel--> <A NAME="tex2html1404" HREF="node50.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html1398" HREF="node45.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html1392" HREF="node48.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html1400" HREF="node1.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <A NAME="tex2html1402" HREF="node191.html"> <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> <BR> <B> Next:</B> <A NAME="tex2html1405" HREF="node50.html">3.2.5 DS390 / DS400</A> <B> Up:</B> <A NAME="tex2html1399" HREF="node45.html">3.2 Command Line Options</A> <B> Previous:</B> <A NAME="tex2html1393" HREF="node48.html">3.2.3 Linker Options</A> <B> <A NAME="tex2html1401" HREF="node1.html">Contents</A></B> <B> <A NAME="tex2html1403" HREF="node191.html">Index</A></B> <!--End of Navigation Panel--> <ADDRESS> 2011-03-20 </ADDRESS> </BODY> </HTML>