LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3895|回复: 6

【求助】为S3C2410板移植u-boot时碰到交叉工具为硬件FP而u-boot为软件FP的问题

[复制链接]
发表于 2007-4-2 10:08:20 | 显示全部楼层 |阅读模式
现正为广州致远开发的DeviceARM2410核心板(基于S3C2410)移植全新的bootloader,选择使用的是u-boot-1.1.6,需要在其中加入mtd和nand flash的操作功能(u-boot自带),交叉编译工具使用的是从handheld网站下载的arm-linux-gcc-3.4.1(gcc版本3.4.1,glibc为2.3.1)编译时发生下列错误:

arm-linux-ld: ERROR: /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_udivdi3.oS) uses hardware FP, whereas u-boot uses software FP
arm-linux-ld: failed to merge target specific data of file /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_udivdi3.oS)
arm-linux-ld: ERROR: /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_clz.oS) uses hardware FP, whereas u-boot uses software FP
arm-linux-ld: failed to merge target specific data of file /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_clz.oS)
drivers/nand/libnand.a(nand.o)(.text+0x24): In function `nand_init':
/armlinux/bootloader/u-boot-1.1.6/drivers/nand/nand.c:51: undefined reference to `board_nand_init'
make: *** [u-boot] 错误 1

在网上查到了不少FAQ,但是对于这个问题,还没有什么有效的解决办法,不少人只是提示要改变交叉工具的工作方式,即将其由硬件FP改为软件FP,以适应u-boot的需要,但是具体要怎么改不明确,还请各位嵌入式高手赐教!

此外,我觉得如果能禁掉开发板的FP(浮点运算),也不失为迂回解决这个问题的办法,但是这块开发板要怎么关闭FP,开发手册也没有讲到,于是现在是一片迷茫……希望有熟悉这一类型开发板的开发者指点一下!小弟我就先行谢过啦!
发表于 2007-4-2 22:49:26 | 显示全部楼层
直接把uboot Makefile 里 的软浮点改为硬浮点参数就是了
回复 支持 反对

使用道具 举报

发表于 2007-4-16 12:46:22 | 显示全部楼层
去处cpu/"board"/config.mk里面的-msoft-float就可以了
回复 支持 反对

使用道具 举报

发表于 2007-11-21 19:14:00 | 显示全部楼层
Post by cspyb;1684592
去处cpu/"board"/config.mk里面的-msoft-float就可以了


晕,cpu/"board"/config.mk里面哪里有什么这个-msoft-float选项啊?大哥!
回复 支持 反对

使用道具 举报

发表于 2007-11-21 19:15:19 | 显示全部楼层
是不是arm920t目录啊
回复 支持 反对

使用道具 举报

发表于 2007-11-30 13:42:00 | 显示全部楼层
用arm-linux-gcc 3.3.2就好了
回复 支持 反对

使用道具 举报

发表于 2007-11-30 16:46:10 | 显示全部楼层
那个handheld网站上的编译器有一个是strongarm的,你-v一下看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表