Skip to contentSkip to conversation

ARM Tool chain Recommendation

U-Boot-Users Curt Brune 2 participants 3 messages Jun 7, 2004

lore
Share & tools
lore

Curt Brune

author
#0 lore raw

Hello,

What is the recommended ARM tool chain for building the current version of u-boot? Specifically can someone point me to pre-compiled binaries?

Related question -- For u-boot does it matter whether to use arm-linux or arm-elf tool chain?

Cheers,
Curt

Signature · 6 lines
========================================================================
 Curt Brune           | Phone   1.650.380.2528 |     Managing Principal
 curt at cucy.com        | WWW       www.cucy.com |           Cucy Systems
========================================================================
             Cucy Systems -- Software. Integration. Training.
========================================================================
#1 lore raw
Quoted 4 lines · In message <[email protected]> you wrote:

What is the recommended ARM tool chain for building the current version of u-boot? Specifically can someone point me to pre-compiled binaries?

We use the ELDK (of course :-)

Quoted 2 lines

Related question -- For u-boot does it matter whether to use arm-linux or arm-elf tool chain?

Explain the differerence?

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
I haven't lost my mind -- it's backed up on tape somewhere.
author
#2 lore raw
Quoted 4 lines
Quoted 2 lines

Related question -- For u-boot does it matter whether to use arm-linux or arm-elf tool chain?

Explain the differerence?

Well I have one tool chain call "arm-linux-" and one called "arm-elf-" that I installed. I don't remember where I got the arm-linux tools from, but the arm-elf tools came from
http://www.uclinux.org/pub/uClinux/m68k-elf-tools/

localhost$ arm-linux-gcc -v
Reading specs from /usr/lib/gcc-lib/arm-linux/2.95.4/specs gcc version 2.95.4 20010319 (prerelease/franzo/20011204)

localhost$ arm-elf-gcc -v
Reading specs from /usr/local/lib/gcc-lib/arm-elf/2.95.3/specs gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from
http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from
http://www.snapgear.com/)

The strange thing is these compiler define slightly different macros by default. For instance running "gcc -E -dM tmp.c" on an empty tmp.c files gives the following in the two cases:

arm-linux-gcc -E -dM tmp.c

#define __linux__ 1
#define __ARM_ARCH_3__ 1
#define __arm__ 1
#define linux 1
#define __GNUC_MINOR__ 95
#define __CHAR_UNSIGNED__ 1
#define __unix 1
#define __unix__ 1
#define __APCS_32__ 1
#define __GNUC__ 2
#define __linux 1
#define __ELF__ 1
#define unix 1

arm-elf-gcc -E -dM tmp.c

#define __arm_elf 1
#define arm_elf 1
#define __arm__ 1
#define __arm 1
#define __arm_elf__ 1
#define __ARM_ARCH_4T__ 1
#define __GNUC_MINOR__ 95
#define arm 1
#define __CHAR_UNSIGNED__ 1
#define __APCS_32__ 1
#define __GNUC__ 2
#define __ELF__ 1

Now the problem I run into with u-boot is that the arm-elf-gcc compiler defines the symbol "arm", which the arm-linux-gcc does not. This causes a problem when compiling u-boot/include/asm-arm/processor.h, which has a structure member named "arm".

I can #undef arm and things work OK. Or I can use arm-linux-gcc. For my uclinux work, however, I need to use arm-elf-gcc.

I was just wondering what tool to use for u-boot. I figured the answer was "ELDK, or course".

Signature · 6 lines
========================================================================
 Curt Brune           | Phone   1.650.380.2528 |     Managing Principal
 curt at cucy.com        | WWW       www.cucy.com |           Cucy Systems
========================================================================
             Cucy Systems -- Software. Integration. Training.
========================================================================