VMIPSTOOL(1)

NAME
vmipstool - VMIPS front end for common programming tasks

SYNOPSIS
        vmipstool [ --verbose ] [ --dry-run ] --compile [ FLAGS ]
            FILE.c -o FILE.o
        vmipstool [ --verbose ] [ --dry-run ] --preprocess [ FLAGS ] FILE
        vmipstool [ --verbose ] [ --dry-run ] --assemble [ FLAGS ]
            FILE.s -o FILE.o
        vmipstool [ --verbose ] [ --dry-run ] [ --ld-script=T ] --link
            [ FLAGS ] FILE1.o ... FILEn.o -o PROG
        vmipstool [ --verbose ] [ --dry-run ] --make-rom PROG PROG.rom
        vmipstool [ --verbose ] [ --dry-run ] --disassemble-rom PROG.rom
        vmipstool [ --verbose ] [ --dry-run ] --disassemble-word PC INSTR
        vmipstool [ --verbose ] [ --dry-run ] --disassemble PROG (or FILE.o)
        vmipstool [ --verbose ] [ --dry-run ] --swap-words INPUT OUTPUT
        vmipstool --help
        vmipstool --version

DESCRIPTION
vmipstool is intended to be a friendly front-end to the process of compiling, linking, and assembling code for VMIPS using the GNU Compiler Collection (GCC) and GNU Binutils.

Note that you do not need to use vmipstool, or even GCC, to compile programs for VMIPS; you can use any MIPS compiler and assembler you have handy.

OPTIONS
This is what the different command line options mean:

--help
    Display this help message and exit.

--version
    Display the version of vmipstool and exit.

--verbose
    Echo commands as they are run.

--dry-run
    Don't actually run anything; use with --verbose.

--ld-script=T
    Use T as the linker script (instead of default script); use with --link.

--compile
    Compile C code. The remainder of the command line must consist of arguments to the GNU C compiler.

--preprocess
    Preprocess C source code or assembly code. The remainder of the command line must consist of arguments to the GNU C preprocessor.

--assemble
    Translate assembly code to object files. The remainder of the command line must consist of arguments to the GNU assembler.

--link
    Link objects together to create an executable. The remainder of the command line must consist of arguments to the GNU linker.

--make-rom
    Write a program into a ROM file. The next 2 arguments are the executable and the ROM file, respectively.

--disassemble
    Disassemble a relocatable object file (*.o file) or an executable.

--disassemble-rom
    Disassemble arbitrary data, possibly including ROM files. (More information is available with --disassemble, but it only works on programs which have not been written into ROMs.)

--disassemble-word
    Disassemble an instruction whose binary encoding is passed as a command-line argument. Because instructions can have PC-relative immediate arguments, the PC must also be specified.

--swap-words
    Copy the input file to the output file, reversing the byte-order of each 32-bit word in the process. This can be used to translate chunks of data from big-endian to little-endian, or vice-versa.

FILES
Note that vmipstool consults your /etc/vmipsrc and ~/.vmipsrc to determine where the MIPS cross compiler, assembler, and objdump and objcopy tools are. If you install new cross-tools, you should edit these configuration files to reflect the new location of the MIPS tools, and to reflect their default endianness, by changing the settings of mipstoolprefix and bigendian.

BUGS
For instructions on reporting bugs, see the "Reporting Bugs" appendix of the Info manual.

SEE ALSO
vmips(1), as(1), ld(1), gdb(1), and the Info entries for gcc, as, ld, binutils and gdb.

AUTHOR
vmipstool was written by Brian Gaeke.

COPYRIGHT
Copyright (c) 2001, 2002, 2004, 2009 Brian R. Gaeke.

Permission is hereby granted, free of charge, to any person obtaining a copy of this document (the "Document"), to deal in the Document without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Document, and to permit persons to whom the Document is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Document.

THE DOCUMENT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE DOCUMENT OR THE USE OR OTHER DEALINGS IN THE DOCUMENT.