This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: arm-elf & ecos


Hi Andrew,

I am not very familiar with unix. The ecos source (got through WinCVS) is for dos file system, so my guess is it would have the line feed character following the \. Assuming this, what should be the mount configuration best suited for this? text or binary?


Let me know how I can switch between modes. And do I have to build the tool chain (arm-elf) again after switching to a different mode.

Thanks,
-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
>



_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]