移植u-boot-2011.11的一些问题解决

目标板:FL2440
硬件资源: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啊!

继续下面的工作吧



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值