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,
Quoted 2 lines · in message <[email protected]> you wrote:
1. uclinux or linux?
strictly speaking: this question is off topic on this mailing list.
Quoted 2 lines
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.
Quoted 2 lines
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.
Quoted 2 lines
2. Boot loader?
Does u-boot support ARM946? I know u-boot supports some ARM processors
Not yet, but it should be straightforward to add.
Quoted 3 lines
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.]
Quoted 2 lines
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.
Quoted 2 lines
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?
Quoted 2 lines
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
Signature · 4 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de The human race is faced with a cruel choice: work or daytime tele- vision.
Dear Wolfgang,
Quoted 7 lines · Wolfgang Denk
Quoted 1 line
1. 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.
Quoted 8 lines
Quoted 4 lines
2. 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.
Quoted 5 lines
Quoted 2 lines
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.
Quoted 6 lines · In message <[email protected]> you wrote:
Quoted 3 lines
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
Signature · 3 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de 1 1 was a race-horse, 2 2 was 1 2. When 1 1 1 1 race, 2 2 1 1 2.