Mips32MaltaLinuxModifyingPlatformInstructions
Modifying the MIPS Malta Platform
A pre-built executable of the MIPS32 Malta Platform is provided as a demonstration of OVP, as described on
Mips32MaltaLinuxBootingInstructions.
All the source code of the MIPS32 Malta Platform, the MIPS32 processor and the peripherals are provided as open source. This allows the user to download the source code and re-build the same platform executable and library containing processors and peripherals. It further enables the user to modify existing peripherals and/or easily add new peripherals into the MIPS Malta Platform.
This page provides instructions of how to obtain the source code for the
- MIPS32 Processor Model
- MIPS Malta Platform
- The peripherals used in the MIPS Malta platform
There are also instructions for setting up the environment and re-building from the downloaded source code.
Pre-Requsites for Platform Recompilation
OVP Simulator
The OVP simulator, OVPsim, provides the high performance simulator at the core of OVP. This download also includes a pre-compiled library containing all the components used in the MIPS32 Malta Platform and the platform executable itself.
 | DOWNLOAD OVP simulator OVPsim.Windows.exe / 15 MB |
 | DOWNLOAD OVP simulator OVPsim.Linux.sfx / 17 MB |
OVP PSE Toolchain
Models of peripherals use a Peripheral Simulation Engine (PSE). It is, therefore, required to download and install the toolchain to allow compilation of peripheral models.
 | DOWNLOAD OVPpse Peripheral Compiler Toolchan OVPpse.toolchain.Windows.exe / 30 MB |
 | DOWNLOAD OVPpse Peripheral Compiler Toolchan OVPpse.toolchain.Linux.sfx / 48 MB |
Installing MSYS / MINGW Environment
The compilation environment that is recommended for use on a Windows system uses MSYS and MINGW. Obtaining and installing the MSYS and MINGW environmemnt is described in
Imperas_Installation_and_Getting_Started.pdf∞
SVN Client
The source code is maintained in a subversion repository on Google Code. To access this repository an SVN client must be installed. The installation of a Subversion Client for Windows is described in
OVPsim_InstallingTortoiseSVN.pdf∞
SVN Client - Linux
The subversion (svn) client is included with or available for nearly all Linux distributions.
Use your installation's package manager to install it.
A good on-line reference to using svn can be found here:
http://svnbook.red-bean.com∞
Download and Recompiling Source Code
Detailed instructions for downloading and re-compiling the source code are provided in the document
OVPsim_RecompilingPlatform.pdf∞.
This section provides the basic steps, the document should be consulted for further information and screenshots of the process
Download Source Code
On Windows:
- Create a local directory for the source tree. On Windows, we recommend that this is located under your home account in the MSYS installation.
- On Windows, select SVNCheckout using tortoiseSVN with the repository URL http://ovplib.googlecode.com/svn/tags/ and an appropriate tag added, for example svn checkout http://ovplib.googlecode.com/svn/tags/20091016.0.
- The list of available tags can be found on the project home page at http://ovplib.googlecode.com∞
On Linux:
- Create a directory under your home directory or at the desired place in your file system structure.
- Make the newly created directory the current directory.
- List the available version tags: svn list http://ovplib.googlecode.com/svn/tags
- Add the version tag to the checkout command as in:
- svn checkout http://ovplib.googlecode.com/svn/tags/20091016.0
Compile into System Library
WARNING: This will overwrite binary models downloaded as part of OVPsim
In an MSYS or bash shell go into the directory containing the downloaded source. At the command line type
>
make VLNVSYSTEM=1
This will compile into the system VLNV library.
Compile into Local Library
In an MSYS or bash shell go into the directory containing the downloaded source. At the command line type
>
make VLNVROOT=$(pwd)/localVLNVLib
This will compile into a local VLNV library structure called
localVLNVLib in the current working directory.
To then use the compiled components from the library by
default the environment variable IMPERAS_VLNV must be set. This can be set in the shell (and will take effect in this shell) by typing the following at the command line
>
export IMPERAS_VLNV = $(pwd)/localVLNVLib
Compiling SVN sources - Linux
There are a few problems with the svn Revision 215, tag=20091016.0 after checkout.
How I worked around the problems (YMMV):
- You will need an executable named getpath.exe - putting it in /usr/local/bin is a good choice but you must be 'root' or use sudo to create the file.
The code looks like this:
- The makefiles expect some environment variables to be set, other than listed above, not all used, but expected.
- Presuming that $PWD is the current, top-level directory of the svn checkout, I did this:
export IMPERAS_HOME=$PWD/Imperas.20091016.0
export IMPERAS_LIB=$PWD/Imperas.20091016.0/lib/Linux
export IMPERAS_ARCH=Linux
export NOVLNV=1
export VLNROOT=$PWD/bld
export SYSTEMVLNV=1
- Note that the above references parts of the binary filesystem tree - the SVN checkout is not "build complete".
- You may want to put those exports, edited for your installation, into a script file you can "source".
- Now type "make" - it will build, I don't have a clue if the result will run. ;)
ImperasPage MIPSTechnologiesPage