日期:2014-05-16  浏览次数:20602 次

自己移植的U-BOOT最后make出错了
错误信息
cpu/arm920t/start.o: In function `stack_setup':
/root/xjs/bootloader/u-boot-1.1.6/cpu/arm920t/start.S:194: undefined reference to `clock_init'
cpu/arm920t/start.o: In function `relocate':
/root/xjs/bootloader/u-boot-1.1.6/cpu/arm920t/start.S:208: undefined reference to `CopyCode2Ram'
common/libcommon.a(cmd_menu.o): In function `menu_shell':
/root/xjs/bootloader/u-boot-1.1.6/common/cmd_menu.c:184: undefined reference to `bBootFrmNORFlash'
make: *** [u-boot] 错误 1

无法生成u-boot.bin,但是可以生成u-boot.map
网上说是库的问题·
不清楚是哪个库呢·请教大虾们

------解决方案--------------------
这个的确是不一定是库的问题。
undefined reference to 'xxx'是说找不到这个函数的定义,或者因为没有包括某个相关的头文件,或者就是没有包含某个库。

看了前面两行信息,应该是汇编代码的某些问题,可能没有声明某个函数。要不你用source insight看看那几个函数。

我没有遇到此类问题,纯粹是个人猜测。
------解决方案--------------------
使用source insight将整个项目的文件包含进来,一般能找到clock_init的定义体。