自己写的 crt0.s , led.c , Makefile 文件,下到开发板上后始终无法运行,但是将led.c文件拷贝到光盘提供的对应程序中编译,结果可以运行。推测是 crt0.s 或者 Makefile的问题。
通过比对crt0.s发现没有问题。应该是Makefile的问题。
发现自己写的Makefile中的链接语句是:
1 arm-linux-ld -Ttext 0x00000000 -g led.o crt0.o -o led_elf
光盘中对应的语句是:
1 arm-linux-ld -Ttext 0x00000000 -g crt0.o led.o -o led_elf
修改成光盘中的语句,再编译,发现可疑运行了。
原来是链接语句中的 .o 文件的顺序问题,应该是启动程序在前。
时间: 2024-10-24 04:40:09