[U-Boot-Users] ARM946, u-boot and linux

Hi,
My next project will be on ARM946, a microprocessor without MMU. I'm totally a newbie to ARM processors though have experiences on porting u-boot and linux to several ppc processors. I am studying on how to set up the cross development environment. Please shed some light on these questions haunting me recently.
1. uclinux or linux? Since ARM946 has no MMU, uclinux might be a better starting point for porting linux to ARM946. But I have to find out the relationship between uclinux and linux. To my understanding, uclinux must be a patch to the normal linux distribution.
2. Boot loader? Does u-boot support ARM946? I know u-boot supports some ARM processors with MMU, such as 926. Or more general question: does u-boot support processors without MMU? From my ppc experience I know MMU is enabled on u-boot.
3. cross tool chain? Does ELDK support ARM946? ELDK supports arm920. ELDK can be used for arm946 if its core is compatible with arm920's. If ELDK doesn't support it, does it mean that I have to build the cross tool chain from scratch? Is there any off-shelf tool I can use? I tried to build ppc cross tool chain from scratch before the crosstool came into being. That's not a straightforward step, actually painful.
Thank you very much!
-Shawn.

Dear Shawn,
in message c3d0340b04072711035f9822df@mail.gmail.com you wrote:
- uclinux or linux?
strictly speaking: this question is off topic on this mailing list.
Since ARM946 has no MMU, uclinux might be a better starting point for porting linux to ARM946. But I have to find out the relationship
Let's rephrase it: the only chance you have on a MMU-less system is by using uCLinux. For standard Linux a working MMU is mandatory.
Note that it seens that uCLinux has already been ported to the ARM946.
between uclinux and linux. To my understanding, uclinux must be a patch to the normal linux distribution.
Not really. It's actually more of a different implemenation. And in 2.6 it's being merged into the standard kernel tree.
- Boot loader?
Does u-boot support ARM946? I know u-boot supports some ARM processors
Not yet, but it should be straightforward to add.
with MMU, such as 926. Or more general question: does u-boot support processors without MMU? From my ppc experience I know MMU is enabled on u-boot.
Yes, U-Boot does support MMU-less systems (see for example all the ARM7 or StrongARM systems, or the MIPS "purple" configuration).
And you are wrong: U-Boot does NOT use the MMU on PPC. [At least not on all processors, and if then not for virtual memory but just to play dirt^H^H^H^Hclever tricks with the data cache.]
Does ELDK support ARM946? ELDK supports arm920. ELDK can be used for arm946 if its core is compatible with arm920's. If ELDK doesn't
You can use the cross toolchain, but the ative target tools will of course not run as they require a standard Linux kernel, not uCLinux.
support it, does it mean that I have to build the cross tool chain from scratch? Is there any off-shelf tool I can use? I tried to build
There are many. Did you attempt to search the Web?
ppc cross tool chain from scratch before the crosstool came into being. That's not a straightforward step, actually painful.
Painful it is, indeed.
Best regards,
Wolfgang Denk

Dear Wolfgang,
On Wed, 28 Jul 2004 00:00:27 +0200, Wolfgang Denk wd@denx.de wrote:
- uclinux or linux?
Let's rephrase it: the only chance you have on a MMU-less system is by using uCLinux. For standard Linux a working MMU is mandatory.
Note that it seens that uCLinux has already been ported to the ARM946.
Thanks. Now I know what I need to focus.
- Boot loader?
with MMU, such as 926. Or more general question: does u-boot support processors without MMU? From my ppc experience I know MMU is enabled on u-boot.
And you are wrong: U-Boot does NOT use the MMU on PPC. [At least not on all processors, and if then not for virtual memory but just to play dirt^H^H^H^Hclever tricks with the data cache.]
Oh. I see. Enabling MMU on PPC is just some dirt & clever tricks with the data cache. I saw the code to enable MMU in start.S. Hmmm...maybe a bit detail is more helpful to understand why MMU is enabled. Maybe I need to go back to the processor's user guide.
Does ELDK support ARM946? ELDK supports arm920. ELDK can be used for arm946 if its core is compatible with arm920's. If ELDK doesn't
You can use the cross toolchain, but the ative target tools will of course not run as they require a standard Linux kernel, not uCLinux.
?? What target tools are you talking about? I thought the target tools refer to cross compiler, debugger, etc..
Best regards, -Shawn.

In message c3d0340b040727183672fbbf40@mail.gmail.com you wrote:
You can use the cross toolchain, but the ative target tools will of course not run as they require a standard Linux kernel, not uCLinux.
?? What target tools are you talking about? I thought the target tools refer to cross compiler, debugger, etc..
No. The cross tools are those running on a cross development host, i. e. for example on a x86 based Linux PC; the target tools are tools and libraries that will be running on the target system, i. e. in your case on the ARM946 processor.
The cross tools live in the /opt/eldk/bin and /opt/eldk/usr/bin directories, while the target tools vive in /opt/eldk/<target_arch>/
Best regards,
Wolfgang Denk
participants (2)
-
Shawn Jin
-
Wolfgang Denk