当前位置: > 系统教程 > 5.1嵌入式开发环境的搭建5.1.1嵌入式交叉编译环境详解

5.1嵌入式开发环境的搭建5.1.1嵌入式交叉编译环境详解

发布时间:2021-11-15 10:58:18 文章来源:Linux系统下载站 浏览量:

[导读] : 1嵌入式开发环境的搭建5.1嵌入式交叉编译环境的搭建其中,binutils主要用于生成一些辅助工具,如objdump、as、ld等;gcc是用来生成交叉编译器的,主要生成arm-linux-gcc交叉编译工具(应该说,生成此工具后已经搭建起了交叉编译环境,可以编译Linux内核了,但由于没有提供标准用户函数库,用户程序还无法编译);glibc主要是提供用户程序所使用的一些基本的函数库。

5.1嵌入式开发环境的搭建5.1.1嵌入式交叉编译环境详解

本文参考地址:5.1嵌入式开发环境搭建5.1.1嵌入式交叉编译环境搭建

Linux操作系统文章题目:linux操作系统详解(linux不再难懂)

交叉编译的概念在第 4 章有详细的介绍。搭建交叉编译环境是嵌入式开发的第一步,也是必不可少的一步。有很多方法可以构建交叉编译环境。不同的架构,不同的操作内容嵌入式linux,甚至不同版本的内核都会使用不同的交叉编译器。而且,一些交叉编译器经常会出现一些bug,这会导致最终的代码无法正常运行。因此,选择合适的交叉编译器对于嵌入式开发非常重要。

交叉编译器的完整安装一般涉及多个软件的安装(读者可以从ftp:///pub/下载),包括binutils、gcc、glibc等软件。其中binutils主要用于生成一些辅助工具,如objdump、as、ld等;gcc是用来生成交叉编译器的,主要是生成arm-linux-gcc交叉编译工具(应该说这个工具已经搭建了交叉编译环境,可以编译Linux内核,但是因为有无标准用户函数库,无法编译用户程序);glibc 主要提供了一些用户程序使用的基础函数库。这样,交叉编译环境就完全搭建好了。

上面介绍的交叉编译环境搭建比较复杂,很多步骤涉及到硬件平台的选择。因此,现在嵌入式平台提供商一般都会提供在平台上测试的交叉编译器,并且很多公司将上述所有安装步骤都写成脚本文件或者以分发包的形式提供,极大地方便了用户的使用。. 比如友龙的FS2410开发光盘自带两个版本的交叉编译器2.95.3和3.3.2,其中以前的版本是用于Compile Linux 2.4内核,后一个版本用于编译Linux2.6内核。由于这是厂家测试过的编译器,可靠性会比较高,可以很好的配合开发板使用。所以,建议初学者直接使用厂商提供的编译器。当然,由于时间滞后嵌入式linux,这个编译器往往不是最新版本。如果需要更新,希望读者能找到相关资料学习。本书以友龙自带的cross-3.3.2为例进行讲解(具体名称可能因厂家不同而不同)。

安装交叉编译器的具体步骤在第2章实验2中已经有详细说明,这里只记得关键步骤。详见第二章实验二。

解压/usr/local/arm下的cross-3.3.2.bar.bz2。

嵌入式linux_落霞式 仲尼式 伏羲式_aab式 aabb式 abb式词语大全

[root@localhostarm]#tar–jxvfcross-3.3.2.bar.bz2

[root@localhostarm]#ls

3.3.2cross-3.3.2.tar.bz2

[root@localhostarm]#cd./3.3.2

[root@localhostarm]#ls

arm-linuxbinetcincludeinfoliblibexecmansbinshareVERSIONS

[root@localhostbin]#whicharm-linux*

/usr/local/arm/3.3.2/bin/arm-linux-addr2line

/usr/local/arm/3.3.2/bin/arm-linux-ar

/usr/local/arm/3.3.2/bin/arm-linux-as

/usr/local/arm/3.3.2/bin/arm-linux-c++

/usr/local/arm/3.3.2/bin/arm-linux-c++filt

/usr/local/arm/3.3.2/bin/arm-linux-cpp

/usr/local/arm/3.3.2/bin/arm-linux-g++

/usr/local/arm/3.3.2/bin/arm-linux-gcc

/usr/local/arm/3.3.2/bin/arm-linux-gcc-3.3.2