EmbDev.net

Forum: ARM programming with GCC/GNU tools linking error in winarm but not Cygwin


von Wayne Rice (Guest)


Rate this post
useful
not useful
I have created a project for the STR9 and olimex development board
(STR-E912). I created a make file and test in cygwin and the project
compiles and links properly. when I use the same project in WINARM and
use the same make file I get errors at linking the files. Here is the
output from eclipse:

make -k all
".assembling"
arm-elf-as -m armv4t -gdwarf2 -o crt.o crt.s > crt.lst
".compiling"
arm-elf-gcc -mcpu=arm9tdmi -c -gdwarf-2 -MD -Wall -O0 -mapcs-frame
main.c 91x_lib.h 91x_map.h 91x_conf.h 91x_type.h 91x_gpio.h 91x_scu.h
91x_uart.h -o main.o
arm-elf-gcc -mcpu=arm9tdmi -c -gdwarf-2 -MD -Wall -O0 -mapcs-frame
91x_it.c 91x_it.h 91x_lib.h 91x_map.h 91x_conf.h 91x_type.h 91x_gpio.h
91x_scu.h 91x_uart.h -o 91x_it.o
arm-elf-gcc -mcpu=arm9tdmi -c -gdwarf-2 -MD -Wall -O0 -mapcs-frame
91x_lib.c 91x_map.h 91x_conf.h 91x_type.h -o 91x_lib.o
arm-elf-gcc -mcpu=arm9tdmi -c -gdwarf-2 -MD -Wall -O0 -mapcs-frame
91x_gpio.c 91x_gpio.h 91x_map.h 91x_conf.h 91x_type.h 91x_scu.h -o
91x_gpio.o
arm-elf-gcc -mcpu=arm9tdmi -c -gdwarf-2 -MD -Wall -O0 -mapcs-frame
91x_uart.c 91x_uart.h 91x_map.h 91x_conf.h 91x_type.h 91x_scu.h -o
91x_uart.o
arm-elf-gcc -mcpu=arm9tdmi -c -gdwarf-2 -MD -Wall -O0 -mapcs-frame
91x_scu.c 91x_scu.h 91x_map.h 91x_conf.h 91x_type.h -o 91x_scu.o
"..linking"
arm-elf-gcc -T91x.ld --cref -t -static -lc -lgcc
-Wl,-Map=olidemo_uart.map -lm -nostartfiles -o olidemo_uart.out crt.o
main.o 91x_it.o 91x_lib.o 91x_gpio.o 91x_uart.o 91x_scu.o
main.o: file not recognized: File format not recognized
/cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-el 
f/bin/ld:
mode armelf
crt.o
collect2: ld returned 1 exit status
"...copying"
arm-elf-objcopy -O binary olidemo_uart.out olidemo_uart.bin
arm-elf-objcopy: 'olidemo_uart.out': No such file
arm-elf-objdump -x --syms olidemo_uart.out > olidemo_uart.dmp
arm-elf-objdump: 'olidemo_uart.out': No such file
make:  Error code 129, while making 'olidemo_uart.out' (Ignored)
make:  Error code 129, while making 'olidemo_uart_flash' (Ignored)

I am not sure why the output files are not being recognized? Any help or
advise would be greatly appreciated...

von Clifford S. (clifford)


Rate this post
useful
not useful
Wayne Rice wrote:
> /cygdrive/c/gccfd/gnuarm/bin/../lib/gcc/arm-elf/4.0.2/../../../../arm-el 
f/bin/ld:

Looks here like it is using the Cygwin linker rather than the WinARM
linker. Check your PATH environment variable.

Clifford

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.