没有合适的资源?快使用搜索试试~ 我知道了~
构建交叉编译器的第一个步骤就是确定目标平台。在GNU系统中,每个目标平台都有一个明确的格式,这些信息用于在构建过程中识别要使用的不同工具的正确版本。因此,当在一个特定目标机下运行GCC时,GCC便在目录路径中查找包含该目标规范的应用程序路径。GNU的目标规范格式为CPU-PLATFORM-OS。例如x86/i386 目标机名为i686-pc-linux-gnu。本章的目的是讲述建立基于ARM平台的交叉工具链,所以目标平台名为arm-linux-gnu。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![bz2](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/release/download_crawler_static/8263451/bg1.jpg)
构建 交叉编译工具链
构建交叉编译器的第一个步骤就是确定目标平台。在 GNU 系统中,每个目
标平台都有一个明确的格式,这些信息用于在构建过程中识别要使用的不同工
具的正确版本。因此,当在一个特定目标机下运行 GCC 时,GCC 便在目录路
径中查找包含该目标规范的应用程序路径。GNU 的目标规范格式为 CPU-
PLATFORM-OS。例如 x86/i386 目标机名为 i686-pc-linux-gnu。本章的目
的是讲述建立基于 ARM 平台的交叉工具链,所以目标平台名为 arm-linux-
gnu。
通常构建交叉工具链有 3 种方法。
方法一\分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交
叉编译工具链。该方法相对比较困难,适合想深入学习构建交叉工具链的读者。
如果只是想使用交叉工具链,建议使用方法二或方法三构建交叉工具链。
方法二\通过 Crosstool 脚本工具来实现一次编译生成交叉编译工具链,该
方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下
使用该方法构建交叉编译工具链。
方法三\直接通过网上(ftp.arm.kernel.org.uk)下载已经制作好的交叉
编译工具链。该方法的优点不用多说,当然是简单省事,但与此同时该方法有
一定的弊端就是局限性太大,因为毕竟是别人构建好的,也就是固定的没有灵
活性,所以构建所用的库以及编译器的版本也许并不适合你要编译的程序,同
时也许会在使用时出现许多莫名的错误,建议读者慎用此方法。
为了让读者真正的学习交叉编译工具链的构建,下面将重点详细地介绍前
两种构建 ARM Linux 交叉编译工具链的方法。
用 工具构建交叉工具链
是一组脚本工具集,可构建和测试不同版本的 和 ,
用于那些支持 的体系结构。它也是一个开源项目,下载地址是
。用 构建交叉工具链要比上述的分步编
译容易得多,并且也方便许多,对于仅仅为了工作需要构建交叉编译工具链的
读者建议使用此方法。用 工具构建所需资源如表 所示。
表 所需资源
安装包 下载地址
!
"# ! $
#% ! $
&&" ! $
& ! $
'& ! $
'
"# !
$
#.准备资源文件
![](https://csdnimg.cn/release/download_crawler_static/8263451/bg2.jpg)
首先从网上下载所需资源文件 "# !、
#% !、&&" !、& !、
'& ! 和 '
"# !。然后将这些工具包文件放在新建的
'( ' 目录下,最后在 目录下解压
!,命令如下:
)'
) *+!$ !
.建立脚本文件
接着需要建立自己的编译脚本,起名为 ,为了简化编写
,寻找一个最接近的脚本文件 ' 作为模板,然后将该
脚本的内容复制到 ,修改 脚本,具体操作如下:
)'
)'
)+
修改后的 脚本内容如下:
),
-./0123'( ')定义工具链源码所存放位置。
4/5-0-673)定义工具链的安装目录
-./0124/5-0-67
8098584/3:;<<:)定义支持 ;<<语言
8098584/
)创建 目录
'=4/5-0-67
)编译工具链,该过程需要数小时完成。
+ > ' &&"&' >
1
&.建立配置文件
在 脚本文件中需要注意 ' 和 &&"
&' 两个文件,这两个文件是作为 的编译的配置文件。其
中 ' 文件内容如下,主要用于定义配置文件、定义生成编译工具链的
名称以及定义编译选项等。
?49469@283>('> A)内核的配置
-84-3 )编译生成的工具链名称
-84-0@8/3:6:)编译选项
&&"&' 文件内容如下,该文件主要定义编译过程
中所需要的库以及它定义的版本,如果在编译过程中发现有些库不存在时,
![](https://csdnimg.cn/release/download_crawler_static/8263451/bg3.jpg)
会自动在相关网站上下载,该工具在这点上相对比较智能,也非常
有用。
.295-2/0123#%
80123&&"
82.0123&
82.-B41/0@24943 '&
295C0123"#
295C0/92-2D410B4140123 '"#
.执行脚本
将 的脚本文件和配置文件准备好之后,开始执行 脚
本来编译交叉编译工具。具体执行命令如下:
)'
)
经过数小时的漫长编译之后,会在 目录下生成新的交叉
编译工具,其中包括以下内容:
'' << '
!
&&" EF
<< E'A
'''
<<A +
$ '$
%.添加环境变量
然后将生成的编译工具链路径添加到环境变量 7-B 上去,添加的方法是
在系统 文件的最后添加下面一行,如图 所示。
剩余10页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
艾他没头脑
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 基于GUI+MYSQL+JAVA票务管理系统文档介绍+源码+数据库(高分大作业).zip
- 优先编码器除法电微分运算电路 全加器函数发生电路等电路经典Multisim仿真实验源文件合集(25个).zip
- 2331308JS课堂案例.zip
- STM32H750VBT6单片机最小系统开发板AD设计硬件(原理图+PCB+3D封装库)工程文件.zip
- 基于74LS161+ 74LS192芯片实现倒计时定时器Multisim仿真源文件,Multisim10以上版本可打开运行
- 科大讯飞语音引擎 jar包 demo,科大讯飞语音合成引擎3.0,支持4.0系统以上,文字转语音输出.zip
- Java架构面试笔试专题资料及经验(含答案)SpringBoot面试Linux面试专题及答案 合集.zip
- 头歌c语言实验答案tion-model-for-ne开发笔记
- docker配置使用-model-for-networK开发demo
- docker配置使用vaWeb-mas笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)