Jag skulle precis testa och köra floats på min LPC1768, men jag kan inte göra multiplikation eller division (__divsf3, __mulsf3 fattas).
Ett enkelt grep i lib mappen säger att libm.a har funktionerna jag söker, men fast jag lägger till -lm i länkaren så fungerar det inte.
Vet någon vad jag gör för fel?
Jag kör Ubuntu och har dessa:
gcc-4.5.2
binutils-2.21
newlib-1.19.0
gdb-7.2
Skriver in min Makefile här:
Kod: Markera allt
COMMON = -mcpu=cortex-m3 -mthumb
CFLAGS = $(COMMON) -std=gnu99 -O1 -g -fno-builtin-memcpy -fno-builtin-memset
LDFLAGS = $(COMMON) -nostdlib --library-path=/usr/local/arm/arm-elf/lib -lm -T link.T -Wl,--build-id=none
DIR = ./source/
SRCC = $(DIR)startup.c $(DIR)system_LPC17xx.c $(DIR)main.c $(DIR)misc.c $(DIR)fmath.c \
$(DIR)leds.c $(DIR)uart.c $(DIR)adc.c $(DIR)extint.c $(DIR)timer.c $(DIR)i2c.c
SRCO = startup.o system_LPC17xx.o main.o misc.o fmath.o leds.o uart.o adc.o extint.o \
timer.o i2c.o
all: clean main.elf
main.o: main.c
@echo "\nCompiling..."
arm-elf-gcc $(CFLAGS) -c $(SRCC)
@echo "Done!"
main.elf: main.o
@echo "\nLinking..."
arm-elf-gcc $(LDFLAGS) $(SRCO) -o main.elf
@echo "Done!"
clean:
@echo "Cleaning..."
rm -f *.o *.elf