This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: compile redboot error for AT91EB40
- From: Andrew Lunn <andrew dot lunn at ascom dot ch>
- To: Gary Thomas <gthomas at ecoscentric dot com>
- Cc: shouyi <shouyi00 at mails dot tsinghua dot edu dot cn>, eCos Discussion <ecos-discuss at sources dot redhat dot com>
- Date: Sun, 11 Aug 2002 12:30:43 +0200
- Subject: Re: [ECOS] compile redboot error for AT91EB40
- References: <20020810075804.5B6A2138F@hermes.chez-thomas.org> <1029019317.2993.6.camel@hermes.chez-thomas.org>
On Sat, Aug 10, 2002 at 04:41:57PM -0600, Gary Thomas wrote:
> On Sat, 2002-08-10 at 17:58, shouyi wrote:
> > ecos-discuss:
> >
> > When I compile redboot for AT91EB40 board, there is a error occured.
> >
> > arm-elf-gcc -c -I/ecos-g/OS/eCos/temp/redboot_eb40_1_install/include -I/ecos-g/OS/eCos/CVS/ecos/packages/hal/arm/arch/current -I/ecos-g/OS/eCos/CVS/ecos/packages/hal/arm/arch/current/src -I/ecos-g/OS/eCos/CVS/ecos/packages/hal/arm/arch/current/tests -I. -I/ecos-g/OS/eCos/CVS/ecos/packages/hal/arm/arch/current/src/ -mcpu=arm7tdmi -mno-short-load-words -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -Wp,-MD,src/redboot_linux_exec.tmp -o src/hal_arm_arch_redboot_linux_exec.o /ecos-g/OS/eCos/CVS/ecos/packages/hal/arm/arch/current/src/redboot_linux_exec.c
> > /ecos-g/OS/eCos/CVS/ecos/packages/hal/arm/arch/current/src/redboot_linux_exec.c:75: #error
> > make[1]: Leaving directory `/ecos-g/OS/eCos/temp/redboot_eb40_1_build/hal/arm/arch/current'
> > make[1]: *** [src/redboot_linux_exec.o.d] Error 1
> > make: Leaving directory `/ecos-g/OS/eCos/temp/redboot_eb40_1_build'
> > make: *** [build] Error 2
> >
> > if I remark line 75 in redboot_linux_exec.c, it will be ok.
> >
> > So, what is the matter, is there any effect if I remark the 75th line?
> >
> > how to resolve this problem?
This is broken for quite a lot of the ARM targets. The hal/arm/arch
code assumes the macro CYGARC_PHYSICAL_ADDRESS is defined in the
HAL. Only a few do define it: aaed2000, excalibur, ebsa, intergrator,
sa11x0 & xscale. The others are broken.
Interestingly, the actual code is..
#ifndef CYGARC_PHYSICAL_ADDRESS
# error
# define CYGARC_PHYSICAL_ADDRESS(x) (x)
#endif
So it looks like whoever wrote the code thinks a sensible fall back is
to assume a straight 1-1 mapping. The HAL can override this if
required.
May we should just remove the #error line and fix any HALs that are
reported not to work?
Andrew
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss