Native MIPS Systems

From Free Pascal wiki
Revision as of 18:38, 14 May 2011 by MarkMLl (talk | contribs) (Add reference to Qemu etc.)
Jump to navigationJump to search

The MIPS architecture is unusual in that it was designed for desktop computers, is now overwhelmingly used for embedded systems, but can still occasionally be found in desktops or small servers. The only comparable architecture is ARM, which is the platform of choice for a multitude of "bratphones", tablets etc.

Like almost all computers, MIPS-based systems will contain an internal loader, usually in Flash memory. However there are three basic categories of system:

  • Those that boot an operating system from internal Flash, such as the Linksys/Cisco WRT54G [1].
  • Those that boot an operating system from a conventional disc, connected via IDE, SCSI or USB, such as a Cobalt/Sun Qube or Raq.
  • Those running as guests using an emulator such as Qemu on a general-purpose computer.

In any of these cases it is necessary to be able to install a general-purpose operating system such as Linux in order to be able to run development tools. This writer (MarkMLl) favours Debian, since he finds that using it results in a very similar system on a wide range of hardware (x86, SPARC, PPC, MIPS, ARM, zSeries).

If you intend to build Lazarus, make sure you have at least 512Mb memory (RAM + swap) available.

Interim Notes

The "unofficial" MIPS compiler at [2] was written by David Zhang (possibly [3]) and is licensed under GPL Version 2, it cites but does not include the COPYING.FPC file.

There are .zip files of both sources and a minimal executable at Sourceforge (link above). The sources are basically modified contents of fpcsrc/compiler/mips based on FPC 2.0.0, the compiler targets mipsel and is described as being operational on Qemu but not yet supporting shared libraries.

Since this is specifically a little-endian compiler it should presumably be compatible with Linux on a MIPS-based Qube or Raq, or with the Chinese "Loongson" processor of fable. It will not be compatible with SGI MIPS systems, which are big-endian.

There is a system library bundled with the compiler, but no indication of how far the compiler is capable of handling the remainder of the standard libraries.