MIPS Rx000

My MIPS collection includes:

Modern MIPS CPUs


MIPS OS/Software :

Linux

http://www.linux-mips.org
http://www.debian.org/ports/mips/

    The www.linux-mips.org CVS version is very different from the "vanilla" kernel.org . The Linux kernel 2.4 is in deep freeze now (linux_2_4 CVS branch).

OpenBSD

http://www.openbsd.org/arc.html

The OpenBSD/arc port has been discontinued after the 2.3 release.

NetBSD

http://www.netbsd.org/Ports/
http://www.netbsd.org/Ports/arc/

FreeBSD

http://www.freebsd.org/platforms/mips.html
Dead ?

IRIX

SGI IRIX. Latest version: IRIX v6.5

MIPS CPU Emulators

MIPS Disassembler


Toolchain

    I'm using Linux H.J.Lu and NIISI's toolchain with minimal modification (ver-3):

    Tested on the RedHat Linux 7.3 .

[alec@on ~]$ /export/tools/bin/mips-linux-gcc -v
Reading specs from /export/tools/lib/gcc-lib/mips-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-113.2)

    ToDo: Toolchain for the Cygwin.

HOWTO compile a standalone

    Tips&hints:

    This toolchain is based on the Linux kernel headers. To compile a standalone assembler application you should define: -D__ASSEMBLY__ -D__KERNEL__

    To use another #include set (i.e. NetBSD's #includes) use: gcc -nostdinc -I. -I/NetBSD/src/include

    For the NetBSD's #include you should define: -Dlint -D_STANDALONE -DNO_ABICALLS -D_LOCORE -D__NO_LEADING_UNDERSCORES__

    There are two common extensions for the assembler sources: *.s and*.S . The difference is in the preprocessor only -- the .S extension will be preprocessed by the cpp, so you can use #define , #include e.t.c. in the .S file.

    There is no MIPS assembler directive to define an absolute code addresses (like .org). You should use ld options to define starting point and absolute address: ld -T 0x80010000 --entry=start . The "start" symbol must be defined as .globl start in the .text segment.

    To define an absolute constant use:

    	.globl symbol
symbol  = 0x80000180

    By default, the ld produces MIPS ELF object format. To make an ECOFF file from the ELF you should use: objcopy -O ecoff-littlemips  prog.elf  prog.ecoff

    To compile a standalone c sources, use: gcc -mno-abicalls

    You should provide a minimal "POSIX environment" for the C if you have a main () {}; function in the program to emulate a crt1.o


Microsoft Windows NT 3.51 and 4.0

Short Windows NT Timeline

October 31, 1988: David Cutler arrives at Microsoft
November, 1988: Work begins on NT project.
July 27, 1993: Windows NT 3.1 ships (INTEL, MIPS, ALPHA).
September 21, 1994: Windows NT 3.5 ships.
May 30, 1995: Windows NT 3.51 ships.
January 1996: Windows NT 4.0 beta released (code-name "Cairo" and "Detroit").
July 31, 1996: Windows NT 4.0 ships.
September 23, 1996: Windows NT 3.51 SP5 ships.
October 12, 1996: Windows NT 4.0 SP1 ships (latest SP for NT 4.0 MIPS).
October 16, 1996: Drops support for Windows NT 4.0 MIPS architecture.
February 17, 2000: Windows 2000 ships

Tsss... You could get a leaked MS Windows NT 3.51 and 4.0 source code at e-donkey.


MIPS HPC/PPC

http://www.linux4.be/pivot/

http://www.hacksrus.com/~mike/lince/kernel.htm

Warner's Mips based PDA info Center


Windows CE/.NET stuff

    The eMbedded Visual Tools 3.0 - 2002 Edition is available for free download from the Microsoft Website

http://msdn.microsoft.com/embedded/downloads/ce/default.aspx
evt2002web_min.exe [210485 KB]

    It provides MIPS Rx000 C/C++  cross-compiler for the i386 host.

C:\...ft eMbedded Tools\EVC\WCE300\BIN>CLMIPS.EXE /help
Microsoft (R) 32-bit/16-bit C/C++ Optimizing Compiler Version 12.01.8667
for MIPS R-Series
Copyright (C) Microsoft Corp 1984-1999. All rights reserved.


Last changed 26-10-2004 16:23:27