一、背景
主要是在学习朱老师物联网课程uboot移植中碰到的问题的解决。
二、工具介绍
使用VMware虚拟机搭建Ubuntu14.04的Linux运行环境。将从uboot官方fip下载的2013.10的uboot移植到九鼎x210开发板。
三、问题及解决方案
-
问题描述:
/root/porting_x210/uboot_2013_10/u-boot- 2013.10/arch/arm/lib/eabi_compat.o -L /usr/local/arm/arm- 2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1 -lgcc -Map u-boot.map -o u-boot u-boot contains relocations other than R_ARM_RELATIVE make: *** [checkarmreloc] Error 1
-
分析:主要为链接过程中发现的错误,看到此错误先去百度了一下,发现主要为重定位错误。在Linux中使用
grep "R_ARM_RELATIVE" -nR *
命令查找,结果如下:
由此猜测是MakeFile中出了问题,打开MakeFile的789行,看到如下代码:# ARM relocations should all be R_ARM_RELATIVE. checkarmreloc: $(obj)u-boot @if test "R_ARM_RELATIVE" != \ "`$(CROSS_