当我试图编译u引导时,我会得到以下错误:

此链接解释了此错误:
http://www.denx.de/wiki/DULG/SourceObjectHasEABIVersion4ButTargetHasEABIVersion0
但是,我不知道在哪里修改源代码。
发布于 2014-02-04 05:14:18
我改变了路线
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)在cpu/arm926ejs/config.mk中到
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=aapcs-linux)这一次,我得到以下错误:
/home/ubuntu/Desktop/lpc3250/toolchain-final-armv5l-timesys-linux-uclibcgnueabi/bin/../lib/gcc/armv5l-timesys-linux-uclibcgnueabi/4.5.3/libgcc.a(_dvmd_lnx.o): In function `__aeabi_ldiv0':
/home/timesys/work/ea313x_factory/factory-HEAD/build_armv5l-timesys-linux-uclibcgnueabi/gcc-4.5.3/gcc-4.5.3/libgcc/../gcc/config/arm/lib1funcs.asm:1265: undefined reference to `raise'
/home/ubuntu/Desktop/lpc3250/toolchain-final-armv5l-timesys-linux-uclibcgnueabi/bin/../lib/gcc/armv5l-timesys-linux-uclibcgnueabi/4.5.3/libgcc.a(bpabi.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/home/ubuntu/Desktop/lpc3250/toolchain-final-armv5l-timesys-linux-uclibcgnueabi/bin/../lib/gcc/armv5l-timesys-linux-uclibcgnueabi/4.5.3/libgcc.a(_divdi3.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/home/ubuntu/Desktop/lpc3250/toolchain-final-armv5l-timesys-linux-uclibcgnueabi/bin/../lib/gcc/armv5l-timesys-linux-uclibcgnueabi/4.5.3/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'这个问题似乎与libgcc.a有关。
我学到的是使用很少编译器的u-boot编译器。
链接
http://communities.mentor.com/community/cs/archives/arm-gnu/msg02478.html
把我的问题解释为
这是一个很简单的问题。首先,您需要理解ARM、EABI和ARM GNU/Linux工具链是不同的。Linux内核和应用程序是用ARM GNU/Linux工具链编译的,而引导加载器是用ARM EABI工具链编译的。 U是一个裸金属应用程序,因此使用ARM EABI工具链.这是编译U和其他非Linux应用程序的最佳方法。用Linux工具链编译U引导是可能的,但不推荐.
https://stackoverflow.com/questions/21537267
复制相似问题