(.ARM.exidx+0x0): undefined reference to `

    xiaoxiao2021-03-26  24

    Makefile如下:

    led.bin: start.o led.o arm-linux-ld -Ttext 0x0 -o led.elf $^#代码段运行地址为0x0,将所有依赖文件链接为led.elf arm-linux-objcopy -O binary led.elf led.bin #将led.elf复制一份为led.bin文件 arm-linux-objdump -D led.elf > led_elf.dis#将led.elf文件转换为.dis反汇编文件 gcc mkv210_image.c -o mkx210 ./mkx210 led.bin 210.bin %.o : %.S arm-linux-gcc -o $@ $< -c %.o : %.c arm-linux-gcc -o $@ $< -c clean: rm *.o *.elf *.bin *.dis mkx210 -f

    编译后出现:

    原因是:我自己写了一个start.S的启动文件,不需要系统自带的启动文件了

    解决:

    arm-linux-gcc -o $@ $< -c -nostdlib

    注释:-nostdlib 

    不使用系统标准启动文件和标准库文件,只把指定的文件传递给连接器。这个选项常用于编译内核、bootloader等程序,它们不需要启动文件、标准库文件。

    转载请注明原文地址: https://ju.6miu.com/read-661302.html

    最新回复(0)