Difference between revisions of "MIPS port"
Sekelsenmat (talk | contribs) |
Sekelsenmat (talk | contribs) |
||
Line 42: | Line 42: | ||
In order to build the cross compiler it is necessary to have a correct PATH environment variable. On Windows it is very easy to get a PATH crowded with information put by installers. To ensure that your path is correct, create a batch file with the following code: | In order to build the cross compiler it is necessary to have a correct PATH environment variable. On Windows it is very easy to get a PATH crowded with information put by installers. To ensure that your path is correct, create a batch file with the following code: | ||
− | cd C:\Programas\fpctrunk\ | + | cd C:\Programas\fpctrunk\ |
− | PATH=C:\Programas\fpc\bin\i386-win32;C:\Programas\arm | + | PATH=C:\Programas\fpc\bin\i386-win32;C:\Programas\arm |
− | make CPU_TARGET=mipsel OS_TARGET=linux | + | make cycle CPU_TARGET=mipsel OS_TARGET=linux |
− | pause | + | pause |
Run this batch to compiler the compiler. On the end of the compile you should not see any errors. | Run this batch to compiler the compiler. On the end of the compile you should not see any errors. | ||
Line 51: | Line 51: | ||
You should have a ppccrossmips.exe in C:\Programas\fpc\compiler and some .o and .ppu files in C:\Programas\fpc\rtl\units\mipsel-linux | You should have a ppccrossmips.exe in C:\Programas\fpc\compiler and some .o and .ppu files in C:\Programas\fpc\rtl\units\mipsel-linux | ||
− | Now copy those files to your Free Pascal installation. The cross compiler ppccrossarm.exe should go to C:\Programas\fpc\bin\arm-wince and the units to C:\Programas\fpc\units\arm-wince | + | Now copy those files to your Free Pascal installation. The cross compiler ppccrossarm.exe should go to C:\Programas\fpc\bin\arm-wince and the units to C:\Programas\fpc\units\arm-wince |
== References == | == References == | ||
* http://sourceforge.net/projects/fpc-mips/develop | * http://sourceforge.net/projects/fpc-mips/develop |
Revision as of 15:49, 7 December 2009
The Free Pascal MIPS port is under development. It generates mipsel 32-bits binaries, which should run in mips 32-bits and 64-bits processors.
MIPS Architectures
MIPS can be divided into the following targets for a code generator:
- MIPS 32-bits Endian Little - named mipsel
- MIPS 32-bits Endian Big - named mips
- MIPS 64-bits Endian Little - named mips64el
- MIPS 64-bits Endian Big - named mips64
These names are compatible with the ones used in Linux.
It should be noted that 64-bits MIPS processors can run 32-bits software and that Debian, for example, only offers pre-compiled CDs for 32-bits mips and mipsel, so usually one simply writes 32-bits software for MIPS or MIPS-EL, ignoring the possibility of writing 64-bits software.
Step 1 - Downloading Cross-Binutils
These are the basic tools necessary to create executables, such as: Linker (ld), Assembler (as), Archiver (ar) (Creates smartlinking .a files), strip and some others.
From Linux to Linux-MIPS
- Debian Packages:
- Others:
Step 2 - Cross-compiler
Building from source
Step 1 - Install FPC 2.2.4
Step 2 - Get the latest FPC sources from subversion: http://www.freepascal.org/develop.html#svn
Step 3 - The Build process
We will supose that your fpc compiler is located here: C:\Programas\fpc\bin\i386-win32
And your Free Pascal source code is located here: C:\Programas\fpctrunk
In order to build the cross compiler it is necessary to have a correct PATH environment variable. On Windows it is very easy to get a PATH crowded with information put by installers. To ensure that your path is correct, create a batch file with the following code:
cd C:\Programas\fpctrunk\ PATH=C:\Programas\fpc\bin\i386-win32;C:\Programas\arm make cycle CPU_TARGET=mipsel OS_TARGET=linux pause
Run this batch to compiler the compiler. On the end of the compile you should not see any errors.
You should have a ppccrossmips.exe in C:\Programas\fpc\compiler and some .o and .ppu files in C:\Programas\fpc\rtl\units\mipsel-linux
Now copy those files to your Free Pascal installation. The cross compiler ppccrossarm.exe should go to C:\Programas\fpc\bin\arm-wince and the units to C:\Programas\fpc\units\arm-wince