[ECOS] arm-elf & ecos

Mike A embeddedeng@hotmail.com
Tue Aug 20 20:36:00 GMT 2002


Hi,

After some much effort I could get arm-elf tool-chain build on Win 2000 & 
use it to build ecos library without any errors.

Lastly I had to mount the whole c:/ to text mode to get it to compile the 
ecos source code. Using,

$ mount -f -t c: /ecos-c

Thanks to all those who patently help me to this point. Special thanks to 
William A. Gatliff, Andrew Lunn, Michael Svetlik, csc1950@sina.com, Yves 
Rutschle, Simon Berry and all ecos & GNU new group guys…

-Mike.



From: Andrew Lunn <andrew.lunn@ascom.ch>
To: Mike A <embeddedeng@hotmail.com>
CC: crossgcc@sources.redhat.com, ecos-discuss@sources.redhat.com,   
bgat@billgatliff.com
Subject: Re: [ECOS] arm-elf & ecos
Date: Mon, 19 Aug 2002 10:29:41 +0200

Like i said earlier, its to do with the line endings and the way you
have mounted the filesystems.

ANSI standard says that nothing should follow the \ continuation
character except the line feed. If you have M$ line endings, there is
a carriage return before the line feed. cygwin can mount its drives in
either binary or text mode. In text mode, it inserts carriage returns
before line feeds to keep M$ applications happy. In binary mode it
does not. You need to ensure your sources are on a binary mount point
and you do not corrupt your sources by using a editor which inserts
carriage returns.

         Andrew

On Mon, Aug 19, 2002 at 08:19:49AM +0000, Mike A wrote:
> Hi,
>
> I have done a small experiment & found some amazing things about the
> arm-elf I built.
>
> I took line 257 of
> /ecos-c/rep/examples/test_install/include/cyg/infra/cyg_type.h & put it 
in
> a empty file called test.c at two spot (or paths)
>
> 1. At C:\rep\ecos\packages\hal\arm\arch\current\src\ ;this is path where
> hal_mk_defs.c (file which included cyg_type.h that gave the error the 
other
> day) lives.
> 2. At C:\cygwin\home\Administrator\test\ ;this just an alternative path 
I
> chose.
>
> When compiling this file “test.c” with the same command but at different
> paths I get different results as below:
>
> 1. test.c at C:\rep\ecos\packages\hal\arm\arch\current\src\
> C:\>arm-elf-gcc -S C:\cygwin\home\Administrator\test\test.c
>
> 2. test.c at C:\cygwin\home\Administrator\test\
> C:\>arm-elf-gcc -S C:\rep\ecos\packages\hal\arm\arch\current\src\test.c
> C:\rep\ecos\packages\hal\arm\arch\current\src\test.c:1: Invalid token in
> expression
>
> test.c at hal_mk_defs.c's path,
> "C:\rep\ecos\packages\hal\arm\arch\current\src\" fails...
>
> But the same test.c at some arbitrary path compiles well...
>
> Contents of test.c
> ------------------
>
> #if defined(__cplusplus) && defined(__GNUC__) && \
>    !defined(CYGBLD_ATTRIB_INIT_PRI)
> #endif
>
> Please let me know why such a thing is happening. Why is path becoming a
> dependency?
>
> Cheers,
> -Mike.
>
>
> >From: Andrew Lunn <andrew.lunn@ascom.ch>
> >To: Mike A <embeddedeng@hotmail.com>
> >CC: crossgcc@sources.redhat.com, ecos-discuss@sources.redhat.com,
> >bgat@billgatliff.com
> >Subject: Re: [ECOS] arm-elf & ecos
> >Date: Thu, 15 Aug 2002 09:24:04 +0200
> >
> >Hi Mike
> >
> >First thing to check is that you have all the mounts the correct type,
> >ie text or binary. This is a common problem, so look in the archive
> >and read the documentation.
> >
> >    Andrew
> >
> >On Thu, Aug 15, 2002 at 07:18:07AM +0000, Mike A wrote:
> >> Hi,
> >>
> >> I could successfully build the arm-elf-gcc tool-chain on my Win 2000
> >> machine under cygwin by following the instruction given by William A.
> >> Gatliff.
> >>
> >> 1. Then I installed eocs configuration tool 2.08.
> >> 2. Synced to the ecos repository using WinCVS 1.3.
> >> 3. Then when I tried building the Tests for ARM PID (using the ARM 
PID
> >> template) I got the following errors:
> >>
> >>
> >> make tests -j1 --directory "/ecos-c/rep/examples/arm/arm_build"
> >>
> >> make: Entering directory `/ecos-c/rep/examples/arm/arm_build'
> >> make -r -C hal/arm/arch/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/arch/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/arch/v1_3_1'
> >> make -r -C hal/arm/pid/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/pid/v1_3_1'
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/pid/v1_3_1'
> >> make -r -C io/serial/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/io/serial/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/io/serial/v1_3_1'
> >> make -r -C hal/common/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/common/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/common/v1_3_1'
> >> make -r -C io/common/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/io/common/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/io/common/v1_3_1'
> >> make -r -C infra/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/infra/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >`/ecos-c/rep/examples/arm/arm_build/infra/v1_3_1'
> >> make -r -C kernel/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/kernel/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/kernel/v1_3_1'
> >> make -r -C language/c/libc/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/language/c/libc/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/language/c/libc/v1_3_1'
> >> make -r -C language/c/libm/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/language/c/libm/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/language/c/libm/v1_3_1'
> >> make -r -C devs/wallclock/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/devs/wallclock/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/devs/wallclock/v1_3_1'
> >> make -r -C error/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/error/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >`/ecos-c/rep/examples/arm/arm_build/error/v1_3_1'
> >> headers finished
> >> make -r -C hal/arm/arch/v1_3_1 arm.inc
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/arch/v1_3_1'
> >> arm-elf-gcc -mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes
> >> -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections
> >> -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority
> >> -I/ecos-c/rep/examples/arm/arm_install/include
> >> -I/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1
> >> -I/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/src
> >> -I/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/tests 
-I.
> >> -Wp,-MD,arm.tmp -o hal_mk_defs.tmp -S
> >>
> 
>/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/src/hal_mk_defs.c
> >> In file included from
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:49,
> >>                 from
> >>
> 
>/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/src/hal_mk_defs.c:48:
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> parse error before `__tmp1'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> warning: type defaults to `int' in declaration of `__tmp1'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> `_name_' undeclared here (not in a function)
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> warning: data definition has no type or storage class
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> stray '\' in program
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> parse error before `__tmp2'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> warning: type defaults to `int' in declaration of `__tmp2'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> initializer element is not constant
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> warning: data definition has no type or storage class
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> stray '\' in program
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> warning: type defaults to `int' in declaration of `__tmp1'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> redefinition of `__tmp1'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> `__tmp1' previously defined here
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> initializer element is not constant
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> warning: data definition has no type or storage class
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> stray '\' in program
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:163:
> >> parse error before `}'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:171:
> >> stray '\' in program
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:172:
> >> stray '\' in program
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:173:
> >> stray '\' in program
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:223:
> >> parse error before `CYG_BYTE'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:223:
> >> warning: type defaults to `int' in declaration of `CYG_BYTE'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:223:
> >> warning: data definition has no type or storage class
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:282:
> >> parse error before `#'
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:317:
> >> stray '\' in program
> >> 
/ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:341:
> >> warning: This file contains more `}'s than `{'s.
> >> In file included from
> >>
> 
>/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/src/hal_mk_defs.c:48:
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:86:
> >stray
> >> '\' in program
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:99:
> >parse
> >> error before `}'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:99:
> >> warning: type defaults to `int' in declaration of 
`HAL_SavedRegisters'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:99:
> >> warning: data definition has no type or storage class
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:129:
> >parse
> >> error before `do'
> >>
> >>
> >> It goes on like this for long. Please help me straighten this issue.
> >Thanks
> >> a lot for your help!
> >>
> >> -Mike.
> >>
> >>
> >> _________________________________________________________________
> >> Chat with friends online, try MSN Messenger: http://messenger.msn.com
> >>
> >>
> >> --
> >> Before posting, please read the FAQ: 
http://sources.redhat.com/fom/ecos
> >> and search the list archive: 
http://sources.redhat.com/ml/ecos-discuss
> >>
>
>
>
>
> _________________________________________________________________
> Join the world’s largest e-mail service with MSN Hotmail.
> http://www.hotmail.com
>




_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss




More information about the Ecos-discuss mailing list