移植u-boot-2011.11的一些问题解决
硬件资源:64M SDRAM/256M nandflash(k9f2g08u0a)/4M nor flash(JS28F320)
开发环境:ubuntu 10.04
源码:u-boot-2009.11
交叉编译器arm-linux-gcc-3.3.2
一、建立开发板项目、测试并编译环境
以下是出现的错误
1、arm-linux-ld: ERROR: /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_udivsi3.oS) uses hardware FP, whereas u-boot uses software FP
没有更多的归档文件: failed to merge target specific data of file /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_udivsi3.oS)
arm-linux-ld: ERROR: /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_divsi3.oS) uses hardware FP, whereas u-boot uses software FP
没有更多的归档文件: failed to merge target specific data of file /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_divsi3.oS)
arm-linux-ld: ERROR: /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_umodsi3.oS) uses hardware FP, whereas u-boot uses software FP
没有更多的归档文件: failed to merge target specific data of file /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_umodsi3.oS)
arm-linux-ld: ERROR: /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_dvmd_lnx.oS) uses hardware FP, whereas u-boot uses software FP
没有更多的归档文件: failed to merge target specific data of file /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_dvmd_lnx.oS)
make: *** [u-boot] 错误 1
出现这样的错误时发现忘了修改cpu/arm920t/config.mk原文是下面这样的
PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float
PLATFORM_CPPFLAGS += -march=armv4
# =========================================================================
#
# Supply options according to compiler version
#
# =========================================================================
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
修改为:
PLATFORM_RELFLAGS += -fno-common -ffixed-r8
PLATFORM_CPPFLAGS += -march=armv4
# =========================================================================
#
# Supply options according to compiler version
#
# =========================================================================
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
接下来
make xxx_config
make
可是还是出现同样的错误,google了一下找到一篇http://heyunhuan513.blog.163.com/blog/static/16020422009210112035734/
解决不了问题啊!
决定换编译器试试,把编译器换成了4.3.2的
make xxx_config
make
上面的问题解决了,又出现新的问题。
2、arm-linux-ld: ERROR: Source object lib_generic/libgeneric.a(crc16.o) has EABI version 0, but target u-boot has EABI version 5
arm-linux-ld: failed to merge target specific data of file lib_generic/libgeneric.a(crc16.o)
arm-linux-ld: ERROR: Source object lib_generic/libgeneric.a(ctype.o) has EABI version 0, but target u-boot has EABI version 5
arm-linux-ld: failed to merge target specific data of file lib_generic/libgeneric.a(ctype.o)
arm-linux-ld: ERROR: Source object lib_generic/libgeneric.a(string.o) has EABI version 0, but target u-boot has EABI version 5
arm-linux-ld: failed to merge target specific data of file lib_generic/libgeneric.a(string.o)
make: *** [u-boot] 错误 1
看了很多帖子可大多是跟我的相反的
arm-linux-ld: ERROR: Source object lib_generic/libgeneric.a(ctype.o) has EABI version 5, but target u-boot has EABI version 0
没找到什么好的解决方法,在无意中敲入下面的命令
make distclean
make xxx_config
make
哈哈!完全通过了!
后来有把编译器换到3.3.2
make distclean
make xxx_config
make
嘿嘿!也通过了!
看来make distclean很重要哦!
折腾了半天原来都是少敲入一个make distclean啊!
继续下面的工作吧
更多推荐
所有评论(0)