1、编译时出现错误提示如下:
cc1: error: unrecognized command line option "-fstack-usage"
解决办法:路径/u-boot/config.mk中,
将CFLAGS_STACK := $(call cc-option,-fstack-usage)
改为CFLAGS_STACK := $(call cc-option,)
2、编译时出现错误提示如下:
arm-linux-ld:u-boot.lds:19: syntax error
解决办法:修改/u-boot/board/samsung/smdk6410/u-boot-nand.lds
将小写的. align(4); 修改为ALIGN(4)
友情链接:https://blog.csdn.net/xiayufeng520/article/details/46121435
3、编译时出现错误提示如下:
undefined reference _main
通过对旧版本的uboot代码进行比较发现,新版本的uboot将Start.S中的部分汇编代码移到了文件u-boot/arch/arm/lib /crt0.S中,而crt0.S文件并没有添加到Makefile文件,导致链接时提示找不到_main函数的错误。解决办法是修改nand_spl/board/samsung/smdk6400/Makefile文件,修改内容如下:
SOBJS = start.o cpu_init.o lowlevel_init.o crt0.o
# from SoC directory
(新增加内容)
$(obj)crt0.S:
@rm -f $@
@ln -s $(TOPDIR)/arch/arm/lib/crt0.S $@
:4 、编译时出现错误提示如下:
undefined reference coloured_LED_init
undefined reference red_led_on
该问题是由于coloured_LED_init和red_led_on两函数没有被定义。也没有什么用处,直接找到u-boot/arch/arm/lib /crt0.S文件,将调用这两个函数的语句屏蔽掉就行了:
/* bl coloured_LED_init*/
/* bl red_led_on*/