One user added an sprintf statement to Hello_World.c and that caused an erroneous linker error
Code: Select all
C:\GIT\armbasic\bin>arm-none-eabi-gcc C:/GIT/armbasic/CMSIS/include/startup.o C:/GIT/armbasic/CMSIS/Palma_world.o C:/GIT/armbasic/CMSIS/include/printf.o C:/GIT/armbasic/CMSIS/include/uart.o C:/GIT/armbasic/CMSIS/include/coridium_pcb.o C:/GIT/armbasic/CMSIS/include/system_LPC5410x.o C:/GIT/armbasic/CMSIS/include/IRQ_cortex.o C:/GIT/armbasic/CMSIS/include/systick.o C:/GIT/armbasic/CMSIS/include/breakpoint.o -Wall -IC:/GIT/armbasic/CMSIS -IC:/GIT/armbasic/CMSIS/include -IC:/GIT/armbasic/CMSIS/usb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb -funsigned-char -mthumb-interwork -Os -fno-inline -TC:/GIT/armbasic/lib/LPC54102-ROM.ld -Wcast-align -nostartfiles -Xlinker -oC:/GIT/armbasic/CMSIS/Palma_world.elf -Xlinker -M -Xlinker -Map=C:/GIT/armbasic/CMSIS/Palma_world.map -lm
child process exited abnormally
c:/git/armbasic/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/bin/ld.exe: error: C:/GIT/armbasic/CMSIS/Palma_world.elf uses VFP register arguments, c:/git/armbasic/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/lib/thumb/v7m\libc.a(lib_a-strcpy.o) does not
c:/git/armbasic/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/git/armbasic/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/lib/thumb/v7m\libc.a(lib_a-strcpy.o)
collect2: ld returned 1 exit status
Code: Select all
void strcpy(char * dest, char * src) {
while (*src) {
*dest++ = *src++;
}
*dest = 0;
}