0% found this document useful (0 votes)
168 views

HowTo Install Cross Compiler For MIPS

This document provides instructions for installing a cross compiler for MIPS CPU on Windows using Cygwin. It is a two step process: (1) Installing Cygwin, ensuring gcc and make are selected. (2) Downloading and extracting compiler components like binutils, gcc, newlib and installing them to compile C code for MIPS. The compiled output file test_and_calibration.bin can then be run on the MIPS CPU.

Uploaded by

TinhHoTruong
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
168 views

HowTo Install Cross Compiler For MIPS

This document provides instructions for installing a cross compiler for MIPS CPU on Windows using Cygwin. It is a two step process: (1) Installing Cygwin, ensuring gcc and make are selected. (2) Downloading and extracting compiler components like binutils, gcc, newlib and installing them to compile C code for MIPS. The compiled output file test_and_calibration.bin can then be run on the MIPS CPU.

Uploaded by

TinhHoTruong
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

How to install

A Cross Compiler for MIPS CPU on Windows.


This document is a guideline for “How to make the C cross compiler for mips CPU”, which can
be run on the windows environment. The output of the compiler is in assembly language of
MIPS CPU. The installation of the Cross Compiler is done in two steps: (1) Installing the
Cygwin; and (2) Installing the Cross Compiler.

1. Installing cygwin
Go to http://cygwin.com/, download and run cygwin‟s setup.exe. Choose the option to install
from the internet.

Then continue the setup with the default settings, until reaching the Select Packages window. In
this window, you have to make sure you are installing gcc (the C compiler) and make. To do
this, expand Devel and make sure the following packages are selected:
- gcc-core: C compiler
- make: The GNU version of the „make‟ utility
Finish the setup making sure to create an icon on the Desktop.

Commands in Cygwin
Cygwin behaves as most Unix systems. Tasks such as copying or deleting files are
achieved with commands. This is a list, for future reference, of basic commands that can
be used in Cygwin.
- pwd prints the current directory
- cd <subfolder> moves to the subfolder with that name
- cd .. moves up one folder
- ls displays the content of the current folder
- cp <targetfile> <targetdirectory> copies the target file into the
target directory
- mkdir <directorypath> creates a new directory
- tar <targetfile> uncompresses the target file
- make executes the Makefile in the current path

2. Downloads
Download all the files in http://courses.csail.mit.edu/6.095/current/software/
Locate all files in cygwin‟s home directory. The download should contain these files:
Makefile
binutils-2.16.1.tar.gz
gcc-core-3.4.6.tar.gz
newlib-1.9.0.tar.gz
lib.tgz
ttermp23.zip
test_and_calibration.rar
3. Compiling cross compiler for mips CPU
Run cygwin and write these commands. Do not hesitate to call a TA if you see an error message.
binutils ( version 2.16.1 )
$ mkdir /usr/local/src
$ cd /usr/local/src
$ tar xvfz ~/binutils-2.16.1.tar.gz
$ mkdir binutils_robin
$ cd binutils_robin
$ ../binutils-2.16.1/configure --target=mipsel-robin-elf --
prefix=/usr/local
$ make
$ make install
gcc ( version 3.4.6 )
$ cd /usr/local/src
$ tar xvfz ~/gcc-core-3.4.6.tar.gz
$ mkdir gcc_robin
$ cd gcc_robin
$ ../gcc-3.4.6/configure --target=mipsel-robin-elf --
prefix=/usr/local --with-newlib --enable-languages=c --
disable-threads --disable-shared
$ make
$ make install
newlib ( version 1.9.0 )
$ cd /usr/local/src
$ tar xvfz ~/newlib-1.9.0.tar.gz
$ mkdir newlib_robin
$ cd newlib_robin
$ ../newlib-1.9.0/configure --target=mipsel-robin-elf --
prefix=/usr/local
$ make
$ make install

4. Revising specs
Open the file /usr/local/lib/gcc/mipsel-robin-elf/3.4.6/specs with a text editor. Find the labels
called *lib and *startfile and replace their values with the following. Save the file with this
content.
*lib:
-lsemb -lc -lnullmon -lc
*startfile:
crt0%O%s crti%O%s crtbegin%O%s

5. Installing semb1200a-rom.ld
$ cd ~
$ cp semb1200a-rom.ld /usr/local/mipsel-robin-elf/lib/.
6. Installing lib, header files, and so on
$ cd ~
$ tar xfvz lib.tgz
$ cp –r lib/semb1200a /usr/local/mipsel-robin-elf/include/.
$ cp lib/libsemb.a /usr/local/mipsel-robin-elf/lib/.
$ cp lib/crt0.o /usr/local/mipsel-robin-elf/lib/.

7. Cross-compiling our first program


Extract the contents of the file test_and_calibrations.rar. You should have the files
test_and_calibration.c and Makefile. test_and_calibration.c contains the source code of the
program in C and Makefile contains the instructions on how to compile the code. In cygwin, go
to the folder where test_and_calibration.c and Makefile are located. Write the command make.
If the installation is correct, you should see these messages.

The compilation created the following files:


- test_and_calibration.out
- test_and_calibration.o
- test_and_calibration.map
- test_and_calibration.bin
The file test_and_calibration.bin is the one that we will be downloading to the robot. When
you will be creating your code, it is often useful to erase all the compiled files. This can be done
with the command make clean in cygwin. This will remove the four files listed above.

You might also like