天嵌 ARM开发社区

 找回密码
 注册
查看: 6966|回复: 2

关于u-boot中undefined reference to `saveenv', to `nand_info的问题???

[复制链接]
gongping11 发表于 2011-10-3 13:47:07 | 显示全部楼层 |阅读模式
最近忙着移植u-boot,但是出现了很多的问题,其中主要是nand Flash出现的问题较多,不知道其中的原因,希望高手给予指点!!

a - cmd_misc.o
a - cmd_net.o
a - cmd_nvedit.o
a - cmd_pcmcia.o
a - cmd_source.o
a - cmd_version.o
a - cmd_ximg.o
a - command.o
a - console.o
a - dlmalloc.o
a - env_common.o
a - env_nand.o
a - exports.o
a - flash.o
a - image.o
a - main.o
a - memsize.o
a - s_record.o
a - stdio.o
a - tftp_menu.o
a - xyzModem.o
make[1]: Leaving directory `/opt/uboot/u-boot-2010.06/common'
make -C lib/libfdt/
make[1]: Entering directory `/opt/uboot/u-boot-2010.06/lib/libfdt'
arm-linux-ar crv libfdt.a
make[1]: Leaving directory `/opt/uboot/u-boot-2010.06/lib/libfdt'
make -C api/
make[1]: Entering directory `/opt/uboot/u-boot-2010.06/api'
arm-linux-ar crv libapi.a
make[1]: Leaving directory `/opt/uboot/u-boot-2010.06/api'
make -C post/
make[1]: Entering directory `/opt/uboot/u-boot-2010.06/post'
(echo create libpost.a; for lib in   ; \
         do echo addlib $lib; done; echo save) \
        | arm-linux-ar -M
make[1]: Leaving directory `/opt/uboot/u-boot-2010.06/post'
make -C board/samsung/smdk2440/
make[1]: Entering directory `/opt/uboot/u-boot-2010.06/board/samsung/smdk2440'
make[1]: Leaving directory `/opt/uboot/u-boot-2010.06/board/samsung/smdk2440'
make[1]: Entering directory `/opt/uboot/u-boot-2010.06/board/samsung/smdk2440'
arm-linux-gcc  -g  -Os   -fno-common -ffixed-r8 -msoft-float -malignment-traps -D__KERNEL__ -DTEXT_BASE=0x33F80000 -I/opt/uboot/u-boot-2010.06/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.5/include -pipe  -DCONFIG_ARM -D__ARM__ -marm   -mapcs-32 -mno-thumb-interwork  -march=armv4 -Wall -Wstrict-prototypes    \
                -o smdk2440.o smdk2440.c -c
In file included from /opt/uboot/u-boot-2010.06/include/asm/arch/s3c2410.h:69,
                 from /opt/uboot/u-boot-2010.06/include/asm/arch/s3c24x0_cpu.h:24,
                 from smdk2440.c:30:
/opt/uboot/u-boot-2010.06/include/asm/arch/s3c24x0.h:324: warning: declaration does not declare anything
/opt/uboot/u-boot-2010.06/include/asm/arch/s3c24x0.h:325: warning: declaration does not declare anything
/opt/uboot/u-boot-2010.06/include/asm/arch/s3c24x0.h:327: warning: declaration does not declare anything
/opt/uboot/u-boot-2010.06/include/asm/arch/s3c24x0.h:328: warning: declaration does not declare anything
arm-linux-gcc  -g  -Os   -fno-common -ffixed-r8 -msoft-float -malignment-traps -D__KERNEL__ -DTEXT_BASE=0x33F80000 -I/opt/uboot/u-boot-2010.06/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.5/include -pipe  -DCONFIG_ARM -D__ARM__ -marm   -mapcs-32 -mno-thumb-interwork  -march=armv4 -Wall -Wstrict-prototypes    \
                -o flash.o flash.c -c
flash.c:32:1: warning: "MAIN_SECT_SIZE" redefined
flash.c:31:1: warning: this is the location of the previous definition
arm-linux-gcc  -g  -Os   -fno-common -ffixed-r8 -msoft-float -malignment-traps -D__KERNEL__ -DTEXT_BASE=0x33F80000 -I/opt/uboot/u-boot-2010.06/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.5/include -pipe  -DCONFIG_ARM -D__ARM__ -marm   -mapcs-32 -mno-thumb-interwork  -march=armv4 -Wall -Wstrict-prototypes    \
                -o nand_read.o nand_read.c -c
nand_read.c: In function `nand_read_page_ll':
nand_read.c:107: warning: unused variable `ptr16'
nand_read.c: At top level:
nand_read.c:144: warning: function declaration isn't a prototype
nand_read.c:77: warning: 'is_bad_block' defined but not used
arm-linux-gcc   -D__ASSEMBLY__ -g  -Os   -fno-common -ffixed-r8 -msoft-float -malignment-traps -D__KERNEL__ -DTEXT_BASE=0x33F80000 -I/opt/uboot/u-boot-2010.06/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.5/include -pipe  -DCONFIG_ARM -D__ARM__ -marm   -mapcs-32 -mno-thumb-interwork  -march=armv4   \
                -o lowlevel_init.o lowlevel_init.S -c
arm-linux-ar crv libsmdk2440.a smdk2440.o flash.o nand_read.o lowlevel_init.o
a - smdk2440.o
a - flash.o
a - nand_read.o
a - lowlevel_init.o
make[1]: Leaving directory `/opt/uboot/u-boot-2010.06/board/samsung/smdk2440'
make -C /opt/uboot/u-boot-2010.06/arch/arm/cpu/arm920t/ u-boot.lds
make[1]: Entering directory `/opt/uboot/u-boot-2010.06/arch/arm/cpu/arm920t'
make[1]: Nothing to be done for `u-boot.lds'.
make[1]: Leaving directory `/opt/uboot/u-boot-2010.06/arch/arm/cpu/arm920t'
arm-linux-gcc -E -g  -Os   -fno-common -ffixed-r8 -msoft-float -malignment-traps -D__KERNEL__ -DTEXT_BASE=0x33F80000 -I/opt/uboot/u-boot-2010.06/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.5/include -pipe  -DCONFIG_ARM -D__ARM__ -marm   -mapcs-32 -mno-thumb-interwork  -march=armv4 -include /opt/uboot/u-boot-2010.06/include/u-boot/u-boot.lds.h -DLD_MAJOR=2 -DLD_MINOR=15 -ansi -D__ASSEMBLY__ -P - </opt/uboot/u-boot-2010.06/arch/arm/cpu/arm920t/u-boot.lds >u-boot.lds
UNDEF_SYM=`arm-linux-objdump -x board/samsung/smdk2440/libsmdk2440.a lib/libgeneric.a lib/lzma/liblzma.a lib/lzo/liblzo.a arch/arm/cpu/arm920t/libarm920t.a arch/arm/cpu/arm920t/s3c24x0/libs3c24x0.a arch/arm/lib/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a fs/ubifs/libubifs.a net/libnet.a disk/libdisk.a drivers/bios_emulator/libatibiosemu.a drivers/block/libblock.a drivers/dma/libdma.a drivers/fpga/libfpga.a drivers/gpio/libgpio.a drivers/hwmon/libhwmon.a drivers/i2c/libi2c.a drivers/input/libinput.a drivers/misc/libmisc.a drivers/mmc/libmmc.a drivers/mtd/libmtd.a drivers/mtd/nand/libnand.a drivers/mtd/onenand/libonenand.a drivers/mtd/ubi/libubi.a drivers/mtd/spi/libspi_flash.a drivers/net/libnet.a drivers/net/phy/libphy.a drivers/pci/libpci.a drivers/pcmcia/libpcmcia.a drivers/power/libpower.a drivers/spi/libspi.a drivers/rtc/librtc.a drivers/serial/libserial.a drivers/twserial/libtws.a drivers/usb/gadget/libusb_gadget.a drivers/usb/host/libusb_host.a drivers/usb/musb/libusb_musb.a drivers/usb/phy/libusb_phy.a drivers/video/libvideo.a drivers/watchdog/libwatchdog.a common/libcommon.a lib/libfdt/libfdt.a api/libapi.a post/libpost.a | sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`; cd /opt/uboot/u-boot-2010.06 && arm-linux-ld -Bstatic -T u-boot.lds  -Ttext 0x33F80000 $UNDEF_SYM arch/arm/cpu/arm920t/start.o --start-group lib/libgeneric.a lib/lzma/liblzma.a lib/lzo/liblzo.a arch/arm/cpu/arm920t/libarm920t.a arch/arm/cpu/arm920t/s3c24x0/libs3c24x0.a arch/arm/lib/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a fs/ubifs/libubifs.a net/libnet.a disk/libdisk.a drivers/bios_emulator/libatibiosemu.a drivers/block/libblock.a drivers/dma/libdma.a drivers/fpga/libfpga.a drivers/gpio/libgpio.a drivers/hwmon/libhwmon.a drivers/i2c/libi2c.a drivers/input/libinput.a drivers/misc/libmisc.a drivers/mmc/libmmc.a drivers/mtd/libmtd.a drivers/mtd/nand/libnand.a drivers/mtd/onenand/libonenand.a drivers/mtd/ubi/libubi.a drivers/mtd/spi/libspi_flash.a drivers/net/libnet.a drivers/net/phy/libphy.a drivers/pci/libpci.a drivers/pcmcia/libpcmcia.a drivers/power/libpower.a drivers/spi/libspi.a drivers/rtc/librtc.a drivers/serial/libserial.a drivers/twserial/libtws.a drivers/usb/gadget/libusb_gadget.a drivers/usb/host/libusb_host.a drivers/usb/musb/libusb_musb.a drivers/usb/phy/libusb_phy.a drivers/video/libvideo.a drivers/watchdog/libwatchdog.a common/libcommon.a lib/libfdt/libfdt.a api/libapi.a post/libpost.a board/samsung/smdk2440/libsmdk2440.a --end-group -L /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.5 -lgcc -Map u-boot.map -o u-boot
common/libcommon.a(cmd_nvedit.o)(.text+0x898): In function `do_saveenv':
/opt/uboot/u-boot-2010.06/common/cmd_nvedit.c:597: undefined reference to `saveenv'
common/libcommon.a(env_nand.o)(.text+0xec): In function `readenv':
/opt/uboot/u-boot-2010.06/common/env_nand.c:289: undefined reference to `nand_info'

make: *** [u-boot] Error 1

我换其他的编译器仍然出错,根据提示应该是说链接过程出现了问题(因为在第一处已经编译成了.o的文件,说明是链接的问题),我想知道这个问题如何解决,是我的路劲存在问题吗??遇到过类似问题的请帮个忙!!!
anling 发表于 2011-10-5 11:47:22 | 显示全部楼层
先查查上么 saveenv和nand_info在什么头文件中
如果头文件已经支持 那么查查是否编译器的库有问题
用会天前的4.3的编译器看看
回复

使用道具 举报

 楼主| gongping11 发表于 2011-10-5 14:49:43 | 显示全部楼层
2# anling
这个问题我已经解决了,看了看源码原来是头文件中的CONFIG_CMD_NAND没有声明!谢谢提醒
回复

使用道具 举报

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-18 01:01 , Processed in 2.038665 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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