预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共32页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式linux交叉编译工具链主要内容一、交叉工编译工具链的简介——什么是交叉编译一、交叉工编译工具链的简介——为什么要使用交叉编译一、交叉工编译工具链的简介——为什么要使用交叉编译一、交叉工编译工具链的简介——为什么要使用交叉编译一、交叉工编译工具链的简介——构建交叉编译工具链一、交叉工编译工具链的简介——构建交叉编译工具链二、交叉编译工具链的制作方法二、交叉编译工具链的制作方法二、交叉编译工具链的制作方法二、交叉编译工具链的制作方法Binutils是GNU工具之一,它包括连接器、汇编器和其他用于目标文件和档案的工具,它是二进制代码的处理维护工具。安装Binutils工具包含的程序有addr2line、ar、as、c++filt、gprof、ld、nm、objcopy、objdump、ranlib、readelf、size、strings、strip、libiberty、libbfd和libopcodes。介绍完Binutils工具后,下面将分步介绍安装binutils-2.15的过程。 首先解压包,命令如下: #cd$PRJROOT/build-tools #tar–xjvf 接着配置Binutils工具,建议建立一个新的目录用来存放配置和编译文件,这样可以使源文件和编译文件独立开,具体操作如下: #cd$PRJROOT/build-tools #mkdirbuild-binutils #cdbuild-binutils #../binutils-2.15/configure--target=$TARGET--prefix=$PREFIX 其中选项–target的意思是制定生成的是arm-linux的工具,--prefix是指出可执行文件安装的位置。执行上述操作会出现很多check信息,最后产生Makefile文件。接下来执行make和安装操作,命令如下: #make #makeinstall 该编译过程较慢,需要数十分钟,安装完成后查看/home/mike/armlinux/tools/bin目录下的文件,如果查看结果如下,表明此时Binutils工具已经安装结束。 #ls$PREFIX/bin arm-linux-addr2linearm-linux-ldarm-linux-ranlibarm-linux-strip arm-linux-ararm-linux-nmarm-linux-readelf arm-linux-asarm-linux-objcopyarm-linux-size arm-linux-c++filtarm-linux-objdumparm-linux-strings5、获取内核头文件复制头文件到交叉编译工具链的目录,首先需要在/home/mike/armlinux/tools/arm-linux目录下建立工具的头文件目录inlcude,然后复制内核头文件到此目录下,具体操作如下: #mkdir–p$TARGET_PREFIX/include #cp–r$PRJROOT/kernel/linux-2.6.10/include/linux$TARGET_PREFIX/include #cp–r$PRJROOT/kernel/linux-2.6.10/include/asm-arm$TARGET_PREFIX/include/asm这一步的目的主要是建立arm-linux-gcc工具,注意这个gcc没有glibc库的支持,所以只能用于编译内核、BootLoader等不需要C库支持的程序,后面创建C库也要用到这个编译器,所以创建它主要是为创建C库做准备,如果只想编译内核和BootLoader,那么安装完这个就可以到此结束。安装命令如下: #cd$PRJROOT/build-tools #tar–xvzf #mkdirbuild-gcc #cd #vigcc/config/arm/t-linux 由于是第一次安装ARM交叉编译工具,没有支持libc库的头文件,所以在gcc/config/arm/t-linux文件中给变量TARGET_LIBGCC2_CFLAGS增加操作参数选项-Dinhibit_libc-D__gthr_posix_h来屏蔽使用头文件,否则一般默认会使用/usr/inlcude头文件。将TARGET_LIBGCC2-CFLAGS=-fomit-frame-pointer–fPIC改为TARGET_LIBGCC2-CFLAGS=-fomit-frame-pointer–fPIC-Dinhibit_libc-D__gthr_posix_h 修改完t-linux文件后保存,紧接着执行配置操作,如下命令: #cdbuild-gcc #../build-gcc/configure--target=$