Quesions on toolchains for MIPS32 4KC
Ren, Han Tao (Hans)
renht at lucent.com
Fri Oct 24 06:56:16 UTC 2003
Hello,
I've set up the rtems tools for "jmr3904" but the CPU I'm supposed to use is
MIPS32 4kc.
I can successfully build the example code "hello_world_c" now, however when
I run the code in
the simulator of MIPS32 4kc, it reported error when the Floating-point
instruction is reached.
I know MIPS32 4kc doesn't have CP1, so I rebuilt the example again by adding
-msoft-float as
the complier option, but the result was the same. Finally I found the
Floating-point instruction is
acturally used in the assembly file "start.S". And I don't know how to
modify it.
>From previous discusssions, it seems I need modified something in RTEMS to
support MIPS 4kc.
Actually, when I built rtems, I just strictly followed the instructions of
document "Getting Started
with RTEMS for C/C++ Users"
(http://www.rtems.org/onlinedocs/releases/rtemsdocs-4.6.0pre5/share/rtems/ht
ml/).
I'm a newbie. So, could you please share me some detailed instructions of
how to build the rtems
toolchains for MIPS32 4kc?
Thanks a lot!
Hans
-----Original Message-----
From: mikeci at acm.org [mailto:mikeci at acm.org]
Sent: Thursday, September 11, 2003 3:56 AM
To: gregory.menke at gsfc.nasa.gov
Cc: rtems-users at rtems.com
Subject: Re: BSP for MIPS32 4KC
Hi!
See the inline answers:
>
> OK, it seems we have some problems communicating. I know you have a
> working BSP, but we can't just commit changes without understanding the
> implications. I think we really must identify what MIPS32 means, so
> please answer the following questions;
>
> - What revision is your processor, R3000 or R4000?
My processor is MIPS 4Kc which is based on MIPS32 architecture.
> - What is the Register width? (this is 32, from above)
32 bit registers.
> - Why will __mips == 3 not work?
Problem is that you can mix modules compiled with mips=1 and mips2 with
modules compiled with mips=3 and mips=4. Anyway, this makes life difficult
because than you need to pass cpu= to gcc. By using mips=32 you can
support all MIPS32 cpus. All the gcc libraries are compiled with mips=1,
and you can't mix them. Then, again I don't know how can you distinguish
between libraries compiled with mips=3 and mips=1. Is there a support in
the gcc for this?
> - Do you need CP1 support or not? Your patch simply deletes the
> mathco support, which isn't appropriate for commiting into RTEMS
> because other MIPS bsp's use it. To resolve this, I think we'll need
> to do bsp #includes in the cpukit code, or test for
> -msoft-float, which shouldn't be all that horrible, but we have to
> know what we're doing.
My processor doesn't have CP1, and I had problems with the code dealing
with floating point. I don't know why this code was included in my code
even when defining -msoft-float and setting appropriate constants in cpu.h
(MIPS_HAS_FPU). This is the reason why I deleted that part. For all
other, this must be left in.
> Thanks,
>
> Gregm
More information about the users
mailing list