根据Rules.make,交叉编译器指定的是i686-arago-linux中的arm-linux-gnueabihf-,但是我在制作rootfs时,如果复制i686-arago-linux/lib中的库文件,根本无法运行,用cortexa8t2hf-vfp-neon-linux-gnueab的才可以 ,那么i686-arago-linux和cortexa8t2hf-vfp-neon-linux-gnueabi,哪个才是真正的cross_compile?
Rules.make内容 :
export CROSS_COMPILE=$(LINUX_DEVKIT_PATH)/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-
SDK_PATH_TARGET=$(TI_SDK_PATH)/linux-devkit/sysroots/cortexa8t2hf-vfp-neon-linux-gnueabi/
查看 /i686-arago-linux/中的库文件,发现是i386平台的库,不是arm平台的,究竟为何?
cd /opt/ti-processor-sdk-linux-am335x-evm-01.00.00.03/linux-devkit/sysroots/i686-arago-linux/lib/
file libgcc_s.so.1
libgcc_s.so.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0d3374bedbae19329267d406e8886054357cbeb9, stripped
而cortexa8t2hf-vfp-neon-linux-gnueabi的库文件才是arm的:
cd /opt/ti-processor-sdk-linux-am335x-evm-01.00.00.03/linux-devkit/sysroots/cortexa8t2hf-vfp-neon-linux-gnueabi/lib
file libgcc_s.so.1libgcc_s.so.1: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=f7556edc32f9849e68733477142781e337c2d281, not stripped
xavier:
回复 Jian Zhou:
能不能提供下32位系统的交叉编译器下载链接
Jian Zhou:
回复 xavier:
用之前老版本32位SDK里的交叉编译器就可以。