- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在 Fedora 下建立 ARM-Linux 交叉编译环境.doc
在 Fedora 下建立 ARM-Linux 交叉编译环境
??? 这几天忙着在Fedora 7下建立ARM-Linux的交叉编译环境。一开始参考了《构建嵌入式Linux系统》,这是一本很经典的书。上面介绍了建立ARM-Linux的交叉编译环境的许多知识,建立的原则和方法。我一开始想按照上面的一般方法,建立一个自己的、必威体育精装版的交叉编译环境。但是 ,试了才知道这个过程是一个繁琐、耗时的工作。对于没有编译原理知识的我来说,更是耗时又毫无意义。引用《嵌入式设计及Linux驱动程序开发指南——基于ARM9处理器(第2版)》的原话:“在这项工作上浪费时间似乎没有任何意义,我也是这么认为的,”。由于在公司做事,时间不多,最后,我利用crosstool-0.43,自动完成了这项工作。在是否有必要自己建立交叉编译环境的问题上,我建议:如果你是一个学生,建议你认真学习编译原理、Linux和GNU的编译器原理,再一步一步的自己建立交叉编译环境(学生比较有时间,少泡MM,少玩游戏,时间就挤出来了。好好学习,以后MM来泡你,别人玩你编的游戏。)。如果你是程序员(不是交叉编译器的开发者),建议不要在这上面浪费时间了,赚钱要紧,把这个作为业余爱好吧!??? 这次建立交叉编译环境我主要参考的资料是:1、《构建嵌入式Linux系统》2、《嵌入式设计及Linux驱动程序开发指南——基于ARM9处理器(第2版)》3、《 ARM Linux 交叉编译 工具链 制作攻略》4、《 AT91RM9200引导程序的建立--------建立交叉编译工具链》?? Host CPU:i686??? ??? RAM: 768MB??????? OS: Fedora 7?? TARGET CPU :ARM9TDMI??? ?? ?? OS : Linux-/??? 我在Fedora7下快速、成功地建立ARM-Linux交叉编译环境,是看了《嵌入式设计及Linux驱动程序开发指南——基于ARM9处理器(第2版)》中关于crosstool的介绍。
??? crosstool是由美国人Dan Kegel(毕业于加(利福尼亚)州工学院)开发的一套可以自动编译不同匹配版本gcc和glibc,并作测试的脚本程序。写这篇文章时的必威体育精装版版本是0.43。
??? 下载地址/crosstool/crosstool-0.43.tar.gz
????在/crosstool/crosstool-0.43/buildlogs/可以看到各种CPU和GCC+Glibc版本那些已经编译成功,那些部分成功,那些彻底失败。如果你不是编译器开发者,就按着上面做吧。
????你也可以到/crosstool/#download看看是否有更新的版本。
?????
????第一步:保证你装Fedora7时,安装了需要的软件开发工具。在《 ARM Linux 交叉编译 工具链 制作攻略》中说:“0、制作之前确保你的机子上有如下几个工具:bison、flex、build-essential。”?? 我的机子上有bison和flex,至于build-essential是包含一个在建立deb包过程中起关键作用的包的信息列表,Fedora下并不需要。
?
?? 第二步:下载crosstool,并解压到你的工作目录。??
tar -xzvf crosstool-0.43.tar.gzcd crosstool-0.43 ?
?? 第三步:察看crosstool文件夹中,.sh脚本和.dat配置文件。找到你要交叉编译的CPUdemo-arm9tdmi.sh。以下是其内容和所需的修改:
#!/bin/sh# This script has one line for each known working toolchain# for this architecture. Uncomment the one you want.# Generated by generate-demo.pl from buildlogs/all.dats.txtset -exTARBALLS_DIR=/home/tekkaman/working/sourceRESULT_TOP=/home/tekkaman/working/crosstool//这两行是需要修改的参数,TARBALLS_DIR是下载的工具源码压缩包的存放目录。//RESULT_TOP是要生成的工具链的存放目录,一定要改到有写权限的目录,不然无法编译。//如用root登录进行编译,可能会出错,详情请见后记!//以上是我的修改,他人可以根据实际情况修改。export TARBALLS_DIR RESULT_TOPGCC_LANGUAGES=c,
文档评论(0)