【发布时间】:2018-06-17 07:13:21
【问题描述】:
每当我尝试使用任何数组参数时,都会收到memset() 错误。此外,即使在包含标准库之后,我也无法使用 sprintf() 语句,我应该在生成文件中包含哪些参数来链接或修复此 memset() 和 sprintf() 引用错误。
memset()error full code with lpc214x linker file
我的目标板是 LPC2148(基于 arm7-TDMA)
这是Makefile
ARMGNU ?= arm-none-eabi
COPS = -Wall -nostdlib -nostartfiles -ffreestanding
all : main.hex main.bin main.elf
clean :
rm -f *.o
rm -f *.bin
rm -f *.hex
rm -f *.elf
crt0.o : crt0.S
$(ARMGNU)-gcc -c crt0.S
main.o : main.c
$(ARMGNU)-gcc $(COPS) -c main.c -o main.o
main.elf : lpc2148.ld crt0.o main.o
$(ARMGNU)-ld crt0.o main.o -T lpc2148.ld -o main.elf
main.bin : main.elf
$(ARMGNU)-objcopy main.elf -O binary main.bin
main.hex : main.elf
$(ARMGNU)-objcopy main.elf -O ihex main.hex
【问题讨论】:
-
用
arm-none-eabi-gcc代替arm-none-eabi-ld。
标签: gcc makefile arm linker-errors