|
现正为广州致远开发的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,开发手册也没有讲到,于是现在是一片迷茫……希望有熟悉这一类型开发板的开发者指点一下!小弟我就先行谢过啦! |
|