- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
搭建arm-linux-gcc-4.6.1
Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)
声明:本文主要参考/xt_xiaotian/article/details/6836739,并根据实际情况作了一定的修改与说明
编译环境:
内核名称:Linux
内核发行版:2.6.38-11-generic
内核版本:#50-Ubuntu SMP Mon Sep 12 21:18:14 UTC 2011
硬件架构名称:i686
硬件平台:i386
操作系统:GNU/Linux
当前系统gcc版本号:4.5.2
在Linux中建立整个ARM交叉编译环境的整体过程为:
1、 下载源码包
2、 建立编译目录并设置环境变量
3、 安装内核头文件
4、 安装二进制工具(binutils)
5、 建立初始编译器工具链(简版gcc)
6、 建立glibc库
7、 建立全套编译器工具链(full gcc)
8、 验证
一、下载源码包
GNU的所有源码文件都可以到这个地址下载:/gnu/
Linux Kernel源代码可以去这里下载:
mpc可以去这里下载:
下载的源码包如下:
binutils-2.21.1.tar.bz2
gcc-4.6.1.tar.gz
glibc-2.14.tar.gz
glibc-linuxthreads-2.5.tar.bz2
glibc-ports-2.13.tar.gz
gmp-5.0.2.tar.bz2
linux-5.tar.gz
mpc-0.9.tar.gz
mpfr-2.4.2.tar.gz
注:mpfr不建议使用3.0.0版本。mpfr-3.0.0有Bug,会导致gcc编译不过。
二、建立编译目录并设置环境变量
选定自己的工作目录,如我选择/opt/embedded作为自己的工作目录。然后再embedded中建立build-tools、kernel、tools三个文件夹。实例:
root@ubuntu:/opt/ming# cd /opt/
root@ubuntu:/opt# mkdir embedded
root@ubuntu:/opt# cd embedded/
root@ubuntu:/opt/embedded# mkdir build-tools kernel tools
root@ubuntu:/opt/embedded# cd build-tools/
root@ubuntu:/opt/embedded/build-tools# mkdir build-binutils build-boot-gcc build-glibc build-gcc
各文件夹的作用如下:
/opt/embedded:交叉编译环境的主目录
/opt/embedded/build-tools:存放binutils、gcc、glibc等GNU源码和用来编译这些源代码的目录
/opt/embedded/kernel:用来存放Linux内核源代码
/opt/embedded/tools:用来存放编译好的交叉编译工具和库文件
/opt/embedded/build-tools/build-binutils:编译binutils的目录
/opt/embedded/build-tools/build-boot-gcc:编译gcc启动部分的目录
/opt/embedded/build-tools/build-glibc:编译glibc的目录
/opt/embedded/build-tools/build-gcc:编译整个gcc的目录
建立好编译目录之后便是设置环境变量(建议直接在~/.bashrc中修改,注意修改之后要重新运行Terminal)。如下:
export PRJROOT=/opt/embedded
export TARGET=arm-linux
export PREFIX=$PRJROOT/tools
export TARGET_PREFIX=$PREFIX/$TARGET
export PATH=$PREFIX/bin:$PATH
各个环境变量的意义如下:
PRJROOT:整个交叉编译环境的根目录
TARGET:目标文件对应的architecture,arm-linux表示编译出来的target只能在arm architecture中运行
PREFIX:目标文件夹的路径前缀
TARGET_PREFIX:目标文件夹的路径前缀路径
PATH:可执行文件路径,这里主要指定编译工具等
三、安装内核头文件
将Linux内核源码解压至$PRJROOT/kernel目录,然后建立几个文件的符号链接,最后生成version.h文件。实例:
首先解压Linux内核源文件
root@ubuntu:/opt/embedded/kernel# cp /m
您可能关注的文档
- 小学英语语法知识归纳.docx
- 图形学3D魔方.doc
- 西方翻译史概括.doc
- 花炮英语术语大全.doc
- 科学发展观 the Outlook of Scientific Development 等必威体育精装版词汇翻译.docx
- 湖北省调整基本药物非目录药品目录177.doc
- 茶饮 六级翻译.doc
- 中国特色语言翻译权威版本-6月20日.doc
- Issue论证及论据工具3_教育.doc
- 高二上期末考试 英语试题.docx
- 联合国电子政务报告2024(英).pdf
- 世界银行-柬埔寨包容性增长的动态出口和劳动力市场(英)-2024.9.pdf
- “打新定期跟踪”系列之一百八十七:创业板打新参与账户数下行-240918.pdf
- 种草到转化,小红书营销从内容力到消费力-2024.pdf
- 8月金融数据点评:信贷结构改善-240914.pdf
- 世界银行-秘鲁的长期增长前景:利用全球绿色转型和成为高收入国家所需的改革(英)-2024.9.pdf
- 【信用债观察】省联社改革再加速,特殊再融资债重启-240917.pdf
- 世界银行-非洲经济转型:南北和南南贸易的作用(英)-2024.9.pdf
- “学海拾珠”系列之二百零五:基于统计跳跃状态识别模型管理下行风险-240918.pdf
- 世界银行-叙利亚难民移民对约旦的经济影响:一体化视角(英)-2024.9.pdf
文档评论(0)