编译U-boot的时候出现了错误信息,而之前能正确编译的,一定是修改过什么之后
带来的问题!
/usr/local/arm/4.2.2-eabi/usr/bin-ccache/../lib/gcc/arm-unknown-linux-gnueabi/4.2.2/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
于是重新解压一份U-boot,编译,正常通过。 掏出beyond compare,一比较
将不同的文件全部先改名后从OK的那边COPY过来,然后编译,又正常了。
。。。。
经过对文件的替换,最终锁定在nand_base.c这个文件。 又是一番比对苦找后
终于发现错误在于nand_get_flash_type()函数中添加的一句:
printk("%s:chip->chipsize=0x%08x%08x/n",__FUNCTION__,chip->chipsize/(2048*1024*1024),chip->chipsize);
有问题。(2048*1024*1024)还没有超过32bit的空间,不知道怎么不行。
改为:
printk("%s:chip->chipsize=0x%08x%08x/n",__FUNCTION__,chip->chipsize/(1024*1024*1024),chip->chipsize);
后正常编译。
而改成
printk("%s:chip->chipsize=0x%08x%08x/n",__FUNCTION__,chip->chipsize/(1025*1024*1024),chip->chipsize);
都不行,还是出现那个错误。
但问题还是得解决,于是我改成
printk("%s:chip->chipsize=0x%08x%08x/n",__FUNCTION__,chip->chipsize/2048/1024/1024),chip->chipsize);
这样就正常了!
|
undefined reference to `__aeabi_unwind_cpp_pr0'
最新推荐文章于 2024-09-28 16:28:58 发布