当前位置: 代码迷 >> 驱动开发 >> uboot移植出现异常,求高手解答
  详细解决方案

uboot移植出现异常,求高手解答

热度:38   发布时间:2016-04-28 10:29:32.0
uboot移植出现错误,求高手解答
本人在进行uboot移植的过程中执行make all之后出现下述错误,求哪位大侠能指点一下,感激不尽。我已经在网上查找相关资料对相应的函数进行了修改和声明,但还是提示下面错误。
...............................................................................
..............................................................................
--start-group lib_generic/libgeneric.a board/phy3250/libphy3250.a cpu/arm926ejs/libarm926ejs.a cpu/arm926ejs/lpc3250/liblpc3250.a lib_arm/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 net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a --end-group -L /opt/nxp/gcc-4.3.2-glibc-2.7/bin/../lib/gcc/arm-vfp-linux-gnu/4.3.2 -lgcc \
-Map u-boot.map -o u-boot
common/libcommon.a(env_nand.o): In function `env_relocate_spec':
/work/uboot1.1.6/u-boot-1.1.6/common/env_nand.c:305: undefined reference to `nand_legacy_rw'
/work/uboot1.1.6/u-boot-1.1.6/common/env_nand.c:312: undefined reference to `nand_dev_desc'
common/libcommon.a(env_nand.o): In function `saveenv':
/work/uboot1.1.6/u-boot-1.1.6/common/env_nand.c:222: undefined reference to `nand_legacy_erase'
/work/uboot1.1.6/u-boot-1.1.6/common/env_nand.c:228: undefined reference to `nand_legacy_rw'
/work/uboot1.1.6/u-boot-1.1.6/common/env_nand.c:234: undefined reference to `nand_dev_desc'
make: *** [u-boot] 错误 1
[[email protected] u-boot-1.1.6]

------解决方案--------------------
没玩过1.1.6版。
目测可能是配置上的问题。README里搜一下legacy这个词,好像是有这么个控制宏里有legacy这个关键词,而且正好是控制flash方面的一个配置宏,具休作用不及宏名称记不得了,我自己没用过,只是看到过一次……
------解决方案--------------------
2012.10
一些函数名发生了变化,另外结构上似乎也有些微差别。当然makefile就不用说了,以前基本上每一个平台在makefile中都有一个目标,而现在则通过一个文件和%_config目标来配置。

新版的start.S中调用了两次板级初始化函数,board_init_f和board_init_r
我开发板自带的1.1.6版的start.S则木有这两个函数的调用,而是直接在最后以arm_boot结速汇编部分的初始化。
------解决方案--------------------
把初始化函数分成board_init_f和board_init_r有什么意义?
  相关解决方案