by AMacrae » Fri Oct 10, 2008 11:52 am
Since someone has posted a similar set of errors, I'm reluctant to ask for help, but I've tried to implement the fixes suggested in this thread and my problems persist.
Before compiling, I went through the ecrobot nxtway_gs mdl, and removed the stateflow elements and the fixed point variables replacing them with doubles, so that I could simulate it with my current set of toolboxes. I then asked matlab to build the files to load to the NXT and got the error shown below. Executing the build directly with cygwin gives me the same errors.
I've tried moving cygwin/GNUARM to the top of my path and it didn't solve the problem. The other fix I've seen mentioned involves compiler flags to force the use of software floating point units, my understanding of the make, process is a bit shaky, and I'm not sure how to do this.
cygwin version: 3.2.39
matlab version: 2008a
GNUARM version: 4.2
I'm working with ecrobot, and I haven't been able to find away around this set of errors:
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/kernel/alarm.c to build/kernel/alarm.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/kernel/event.c to build/kernel/event.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/kernel/interrupt.c to build/kernel/interrupt.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/kernel/osctl.c to build/kernel/osctl.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/kernel/resource.c to build/kernel/resource.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/kernel/task.c to build/kernel/task.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/kernel/task_manage.c to build/kernel/task_manage.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/config/at91sam7s-gnu/cpu_config.c to build/config/at91sam7s-gnu/cpu_config.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/config/at91sam7s-gnu/lego_nxt/sys_config.c to build/config/at91sam7s-gnu/lego_nxt/sys_config.o
Compiling kernel_cfg.c to build/./kernel_cfg.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/ecrobot_bluetooth.c to build/ecrobot_bluetooth.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/ecrobot.c to build/ecrobot.o
Compiling ecrobot_main.c to build/ecrobot_main.o
Compiling ../nxtway_app_ert_rtw/nxtway_app.c to build/../nxtway_app_ert_rtw/nxtway_app.o
Compiling ../nxtway_app_ert_rtw/nxtway_app_data.c to build/../nxtway_app_ert_rtw/nxtway_app_data.o
Compiling ../nxtway_app_ert_rtw/rt_matmultrr_sgl.c to build/../nxtway_app_ert_rtw/rt_matmultrr_sgl.o
Compiling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/syslib/at91sam7s-gnu/lego_nxt/hw_sys_timer.c to build/syslib/at91sam7s-gnu/lego_nxt/hw_sys_timer.oram
Assembling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/lejos_nxj/src/nxtvm/platform/nxt/vectors.s to build/nxtvm/platform/nxt/vectors.o
Assembling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/config/at91sam7s-gnu/debug.S to build/config/at91sam7s-gnu/debug.o
Assembling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/config/at91sam7s-gnu/lego_nxt/sys_support.S to build/config/at91sam7s-gnu/lego_nxt/sys_support.o
Assembling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/nxt_binary_header.s to build/nxt_binary_header.o
Assembling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/nxt_entry_point.s to build/nxt_entry_point.o
Assembling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/ecrobot_init.s to build/ecrobot_init.o
Assembling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/config/at91sam7s-gnu/cpu_support.S to build/config/at91sam7s-gnu/cpu_support.oram
Assembling /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/toppers_osek/config/at91sam7s-gnu/irq.s to build/config/at91sam7s-gnu/irq.oram
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: build/nxtvm/platform/nxt/vectors.o uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file build/nxtvm/platform/nxt/vectors.o
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: build/nxt_binary_header.o uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file build/nxt_binary_header.o
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: build/nxt_entry_point.o uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file build/nxt_entry_point.o
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: build/ecrobot_init.o uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file build/ecrobot_init.o
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(ecrobot_base.o) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(ecrobot_base.o)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(ecrobot_interface.o) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(ecrobot_interface.o)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(uart.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(uart.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(systick.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(systick.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(byte_fifo.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(byte_fifo.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(aic.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(aic.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(udp.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(udp.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(twi.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(twi.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(nxt_spi.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(nxt_spi.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(nxt_motors.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(nxt_motors.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(data_abort.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(data_abort.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(display.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(display.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(i2c.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(i2c.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(sound.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(sound.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(bt.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(bt.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(nxt_avr.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(nxt_avr.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(sensors.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(sensors.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(nxt_lcd.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(nxt_lcd.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(flash_loader.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(flash_loader.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(interrupts.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(interrupts.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(flashprog.oram) uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /cygdrive/C/ecrobotNXT_v312/ecrobotNXT/environment/nxtOSEK/ecrobot/libecrobot.a(flashprog.oram)
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: build/nxtvm/platform/nxt/vectors.o uses hardware FP, whereas nxtway_app_rom.elf uses software FP
/cygdrive/C/cygwin/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file build/nxtvm/platform/nxt/vectors.o
collect2: ld returned 1 exit status
make: *** [nxtway_app_rom.elf] Error 1