当前位置: 代码迷 >> 驱动开发 >> Uboot编译的时候出有关问题
  详细解决方案

Uboot编译的时候出有关问题

热度:140   发布时间:2016-04-28 10:07:43.0
Uboot编译的时候出问题
我用的redhad 9

这种问题怎么解决
我用的是uboot 1.1.1
其他版本会出现更多的错,新手不知道该怎么解决。
------解决方案--------------------
好像是编译器的问题,我也遇到类似的问题,无法解决,据说要用低版本的编译器。纳闷!!!
/opt/arm-4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/libgcc.a(_udivsi3.o): In function `__aeabi_uidiv':
/opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/libgcc/../gcc/config/arm/lib1funcs.asm:824: multiple definition of `__udivsi3'
lib_arm/libarm.a(_udivsi3.o):/home/liqinghan/u-boot-1.1.6/lib_arm/_udivsi3.S:17: first defined here
/opt/arm-4.4.3/bin/.arm-none-linux-gnueabi-ld: error: Source object /opt/arm-4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/libgcc.a(_udivdi3.o) has EABI version 5, but target u-boot has EABI version 0
/opt/arm-4.4.3/bin/.arm-none-linux-gnueabi-ld: failed to merge target specific data of file /opt/arm-4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/libgcc.a(_udivdi3.o)
/opt/arm-4.4.3/bin/.arm-none-linux-gnueabi-ld: error: Source object /opt/arm-4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/libgcc.a(_udivsi3.o) has EABI version 5, but target u-boot has EABI version 0
/opt/arm-4.4.3/bin/.arm-none-linux-gnueabi-ld: failed to merge target specific data of file /opt/arm-4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/libgcc.a(_udivsi3.o)
/opt/arm-4.4.3/bin/.arm-none-linux-gnueabi-ld: error: Source object /opt/arm-4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/libgcc.a(_clzsi2.o) has EABI version 5, but target u-boot has EABI version 0
/opt/arm-4.4.3/bin/.arm-none-linux-gnueabi-ld: failed to merge target specific data of file /opt/arm-4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/libgcc.a(_clzsi2.o)
/opt/arm-4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'

。。。。。。。
也希望能得到大神的接到,据说网上有人建议是自己编译编译器以及换低版本的编译器!!!!
------解决方案--------------------
ARM是没有除法运算的,需要自己添加除法库,编译器没有自带的除法运算
------解决方案--------------------
我博客正好有一个    就是除法出现了浮点运算   一个办法是就是改成移位操作  另一个办法改 makefile 链接的时候链接libgcc.a  不过不建议  毕竟uboot是裸机  gcc编译器是变异系统的   裸机最好不连接任和库这也是uboot 的初衷