linux下生成的bin文件 在板子上运行出错

出现的错误是:./lcd.bin: line 1: syntax error: unexpected "("

以下是我的makefile

CC = arm-linux-gcc
LD = arm-linux-ld
AR = arm-linux-ar
OBJCOPY = arm-linux-objcopy
OBJDUMP = arm-linux-objdump

INCLUDEDIR := $(shell pwd)/include
CFLAGS := -Wall -O2 -fno-builtin
CPPFLAGS := -nostdinc -I$(INCLUDEDIR)

export CC AR LD OBJCOPY OBJDUMP INCLUDEDIR CFLAGS CPPFLAGS

objs := start.o main.o uart.o lcd.o clock.o lib/libc.a

lcd.bin: $(objs)
${LD} -Tlcd.lds -o lcd.elf $^
${OBJCOPY} -O binary -S lcd.elf $@
${OBJDUMP} -D lcd.elf > lcd.dis

%.o:%.c
${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<

%.o:%.S
${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<

.PHONY : lig/libc.a
lib/libc.a:
cd lib; make; cd ..

clean:
make clean -C ./lib
rm -f *.bin *.elf *.dis *.o *~

我猜想是makefile没有添加板子内核信息,但不知道如何添加

3个回答

提示信息是 语法错误,一个')'不对。

.PHONY : lig/libc.a #路径有点问题
lib/libc.a:

楼主, 编出来的bin文件不是在系统里执行的, 应是裸板上执行的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问