📄 pmcc.htm
字号:
<!-- * File: tools/pmcc.htm * Purpose: Document the pmcc command * Author: Phil Bunce (pjb@carmel.com) * Revision History: * 980413 Start of revision history * 980413 Added missing options * 980418 Added ghs.c to list * 980418 Added more keywords to index--><title>The pmcc Command</title><h1 align=center>The pmcc Command</h1><!--INDEX "pmcc command" compile endian mips16 mips2 optimization --></dl><h2>NAME</h2><dl><dd> pmcc - A host-resident C compiler driver for producing binaries to run under LSI Logic's PMON, or for a SerialICE debug environment.</dl><h2>SYNOPSIS</h2><dl><dd><pre>pmcc [ -options ] inputfile...</pre></dl><h2>DESCRIPTION</h2><dl><dd> pmcc is a driver for your MIPS C compiler that produces binaries to run under LSI Logic's PMON. By default pmcc generates three files; the binary (a.out), a downloadable ASCII file (a.rec), and a link map (a.map). If the -o outfile option is used to rename the output file, they become outfile.out, outfile.rec, and outfile.map.</dl><h2>OPTIONS</h2><dl><dd><table><tr><td valign=top> -mips16 </td><td valign=top> Compile using MIPS16 (TinyRISC) instructions.</td></tr><tr><td valign=top> -v </td><td valign=top> Be verbose. With this option switched on, pmcc displays the command lines it uses to invoke the compiler, assembler, and linker.</td></tr><tr><td valign=top> -xflash </td><td valign=top> Create a downloadable image that will copy itself into flash. <a href="../iabuild.htm">See also.</a></td></tr><tr><td valign=top> -board <i>boardname</i> </td><td valign=top> Create a standalone (non PMON) image that contains a board support package for the specified board. To find out which boards are supported by this command, invoke pmcc with "<tt>-board help</tt>". <a href="../iabuild.htm">See also.</a></td></tr><tr><td valign=top> -ssyms </td><td valign=top> Place the symbols in a separate file named a.sym (or outfile.sym). This is useful when debugging a PROM- based application.</td></tr><tr><td valign=top> -syms </td><td valign=top> Do not include symbols in downloadable output file. Important when producing a download file for non PMON environments.</td></tr><tr><td valign=top> -srec </td><td valign=top> Generate Motorola S3 records instead of fast-format records. Important when producing a download file for non PMON environments. Also required when downloading via a <a href="../terms.htm">Terminal Emulator</a>.</td></tr><tr><td valign=top> -fast </td><td valign=top> Generate fast-format records instead of Motorola S3 records.</td></tr><tr><td valign=top> -crt0 </td><td valign=top> don't link in a startup file (crt0.o or crt1.o).</td></tr><tr><td valign=top> -prom </td><td valign=top> Concatinate the text and data sections in the S-record file. Forces S-record generation. <a href="../iabuild.htm">See also.</a></td></tr><tr><td valign=top> -double </td><td valign=top> Use LSI-supplied double-precision math library.</td></tr><tr><td valign=top> -chksum </td><td valign=top> Don't include a checksum in fast-format records. For compatibilty with earlier versions of PMON.</td></tr><tr><td valign=top> -T adr </td><td valign=top> define the start address for the text section.</td></tr><tr><td valign=top> -D adr </td><td valign=top> define the start address for the data and bss sections.</td></tr><tr><td valign=top> -EL </td><td valign=top> select little endian byte ordering.</td></tr><tr><td valign=top> -EB </td><td valign=top> select big endian byte ordering.</td></tr><tr><td valign=top> -o name </td><td valign=top> define the output file name.</td></tr><tr><td valign=top> -Dname[=value] </td><td valign=top> define a preprocessor constant.</td></tr><tr><td valign=top> -L </td><td valign=top> discard standard list of directories that are searched for libraries.</td></tr><tr><td valign=top> -Ldir </td><td valign=top> add dir to list of directories that are searched for libraries.</td></tr><tr><td valign=top> -I </td><td valign=top> discard standard list of directories that are searched for include files.</td></tr><tr><td valign=top> -Idir </td><td valign=top> add dir to list of directories that are searched for include files.</td></tr><tr><td valign=top> -O[2-3] </td><td valign=top> select optimization level.</td></tr><tr><td valign=top> -G N </td><td valign=top> control which global variables will be accessed via the small data/bss section (using gp). All global variables that are equal or smaller in size (measured in bytes) than the value of N (default 8), will be placed in the small data/bss section. Specifying "-G 0" determines that no variables will be located in the small data/bss section, and that the compiler will never use the gp-relative address mode.</td></tr><tr><td valign=top> -g </td><td valign=top> generate information for source-level debuggers.</td></tr><tr><td valign=top> -S </td><td valign=top> stop after assembling.</td></tr><tr><td valign=top> -c </td><td valign=top> stop after compiling.</td></tr><tr><td valign=top> -W[acl],arg1[,arg2...] </td><td valign=top> pass arguments directly to the assembler 'a', compiler 'c', or linker 'l'.</td></tr><tr><td valign=top> -f- </td><td valign=top> read extra arguments from stdin.</td></tr><tr><td valign=top> -ffilename </td><td valign=top> read extra arguments from filename.</td></tr><tr><td valign=top> -driver </td><td valign=top> identify the S-record file as a SerialIce-1 driver.</td></tr><tr><td valign=top> -mips2 </td><td valign=top> enable support for the MIPS2 instruction set.</td></tr><tr><td valign=top> -lx </td><td valign=top> search the -Ldir directory list for a file named libx.a.</td></tr><tr><td valign=top> -float </td><td valign=top> instruct the compiler to not promote float to double during function calls. Not available on all toolsets.</td></tr></table></dl><h2>EXAMPLES</h2><dl><dd> Compile a program for execution under PMON.<p><pre> pmcc -o hello hello.c</pre> Compile a program for making a PROM.<p><pre> pmcc -crt0 -prom -syms -T 9fc00000 -D 80000100 -o ofile ifiles...</pre><p> Compile a program for download and execution on a bdmr4101 using SerialICE.<pre> pmcc -board bdmr4101 -o ofile ifiles...</pre> Compile a program for making proms for use on a bdmr4101. Includes debug support via SerialICE.<pre> pmcc -prom -board bdmr4101 -o ofile ifiles...</pre> Convert a promable .rec file into a downloadable, self-updating binary for downloading via PMON.<pre> pmcc -xflash -o ofile yyy.rec</pre> Convert a promable .rec file into a downloadable, self-updating binary for downloading via SerialICE on a bdmr4101.<pre> pmcc -board bdmr4101 -xflash -o ofile yyy.rec</pre><br><br></dl><h2>SEE ALSO</h2><dl><dd> <a href="gensrec.htm">gensrec</a>(1) <a href="genfrec.htm">genfrec</a>(1) </dl><h2>FILES</h2><dl><dd> This command is built from <a href="../../tools/misc.c">tools/misc.c</a>, plus one of the following depending on toolset:<p> <dl><dd> <table><tr><td> <a href="../../tools/bso.c">tools/bso.c</a> </td><td> Tools from BSO/Tasking </td></tr><tr><td> <a href="../../tools/mips.c">tools/mips.c</a> </td><td> Tools from MIPS Technology </td></tr><tr><td> <a href="../../tools/algo.c">tools/algo.c</a> </td><td> Tools from Algorithmics </td></tr><tr><td> <a href="../../tools/epi.c">tools/epi.c</a> </td><td> Tools from Embedded Performance </td></tr><tr><td> <a href="../../tools/cygnus.c">tools/cygnus.c</a> </td><td> Tools from Cygnus Solutions (COFF) </td></tr><tr><td> <a href="../../tools/cygelf.c">tools/cygelf.c</a> </td><td> Tools from Cygnus Solutions (ELF) </td></tr><tr><td> <a href="../../tools/ghs.c">tools/ghs.c</a> </td><td> Tools from Green Hills Software </td></tr><tr><td></td></tr></table></dl><p>It reads the dynamically-created file <a href="../../include/defines.h">include/defines.h</a>,in order to determine the local defaults that were selected during therunning of the <a href="../../install.c">Install</a> program.<p></dl><p><hr><b>Navigation:</b> <a href="../index.htm">Document Home</a> | <a href="../doctoc.htm">Document Contents</a> | <a href="../docindex.htm">Document Index</a> <p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -