目标板: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啊!

继续下面的工作吧



GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐