[求助] 关于“定制交叉编译器“以及各种工具的认识,请指正

lzwml   2014-8-19 11:14 楼主
起因: 最近使用天嵌公司提供的/opt/EmbedSky/crosstools_3.4.5_softfloat工具链,但是似乎它包含的C库有问题,arm-linux-ld总是出错 解决思路: 1、使用uboot的目录下的lib_arm和lib_generic充当C库,uboot为了保证高一致性,重新编写了多数标准C库函数。 最终个人原因没有连接成功。 2、重新制作交叉编译器。这途中遇到很多tool包,照着网上的教程也没能制作成功,可能是我对这些工具的理解有偏差!!! 请高手们看看我对这些包的认识是否正确: 1、arm-linux-gcc 2、crosstool-0.43.tar.gz 3、binutils-2.15a.tar.bz2 4、gcc-3.4.1.tar.bz2 5、glibc-2.3.6.tar.gz 6、glibc-port-xxxx.tar.gz 7、glibc-linuxthreads-2.3.3.tar.gz 8、linux-2.6.8.tar.gz 9、linux-libc-headers http://blog.csdn.net/aweiname2008/article/details/6619299 认识: 1、arm-linux-gcc 别人已经制作完成的交叉编译工具,可能里面包含的C库版本各异。 2、crosstool-0.43.tar.gz 是一个交叉工具链“管理”工具,管理下面的3-9工具包,把下面所有的工具包按照一定规矩(需要配置)安装到制定目录,如果对3-9包熟悉可以不用安装它,直接手工处理。 其中3-7用于生成裸机开发环境;3——9用于生成linux下的开发环境。 3、binutils-2.15a.tar.bz2 crosstool会调用binutils里的工具,如果不用crosstool是不是binutils也不需要了??? 4、gcc-3.4.1.tar.bz2 原生态gcc,通过编译生成arm-linux-gcc、avr-xxx-gcc、avr-linux-gcc等交叉编译工具链 5、glibc-2.3.6.tar.gz 由gcc-3.4.1.tar.bz2生成arm-linux-gcc的工具链,在编译代码是将使用glibc-2.3.6的C库 6、glibc-port-xxxx.tar.gz 好像是glibc的补丁,据说glibc逐步不支持arm平台,glib-port用于glibc在各平台下实现兼容 7、glibc-linuxthreads-2.3.3.tar.gz 真心不懂是什么东西 8、linux-2.6.8.tar.gz 需要在操作系统上运行才需要它。 9、linux-libc-headers 是建立linux内核头文件,它的由来在下面的连接可以看到,目的是为了linux内核和glibc兼容,不过高版本的linux内核不需要这个东西了 javascript:; 如果只需要制作裸机下的交叉编译器,[4、5、可能需要6和7]就足够了 本帖最后由 lzwml 于 2014-8-21 06:56 编辑

回复评论 (1)

楼主写得很详细了,不过新手推荐使用别人做好的交叉编译工具链,更容易上手
好好学习,天天向上
点赞  2014-8-27 19:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复