[实验目的]
掌握linux操作系统建立交叉编译环境的流程及步骤;
[实验仪器]
PC机 1台
Vmware软件安装包 1套
[实验步骤]
我们使用的虚拟机安装的linux是red hat 9,内核是linux-2.4.20的内核,那么在red hat 9上编译开发板上的linux2.6内核,就要用到交叉编译器编译开发板用的Linux2.6的内核。交叉编译器仅仅利用PC的linux作为工作平台,它调用的头文件,库等都是交叉编译器自身或者开发板所用的linux内核自带的,和PC的linux一点关系都没有。所以在linux操作系统中建立交叉编译环境在嵌入式开发中十分重要。
Step1、拷 “\3+1实验班嵌入式linux培训\嵌入式开发资源\Linux平台开发工具包”的压缩包“EABI-4.3.3_EmbedSky_20091210.tar.bz2”到opt文件夹里。如图所示。
Step2、然后新建终端,解压文件到根目录,敲入如下命令行。在opt目录下敲入命令:tar xjvf EABI-4.3.3_EmbedSky_20091210.tar.bz2 –C /
注:tar命令
-c:创建新的档案文件。
–x:从档案文件中释放文件
-v:详细报告tar处理的文件信息,无此项不报告文件信息。
-f:使用档案文件或设备名。必须有。
-j:使用bzip2进行文件压缩/解压。
-z:使用gzip来压缩解压
-C:指定目录。
Step3、解压完毕后在输入命令: gedit /etc/profile
Step4、在打开配置文件“profile”,在文件里面添加如下信息:即在#Path manipulation区域下填写:pathmunge /opt/EmbedSky/4.3.3/bin
Step5、关闭profile文件并保存,执行#source /etc/profile命令。这样就可以是该交叉编译器成为当前默认的交叉编译器:
Step6、执行#arm-linux-gcc -v命令,就可以检查交叉编译器是否安装成功,也可以用该命令来查看当前交叉编译器的版本了,得到如下信息:
由于此款交叉编译器,已经包含制作文件系统镜像的工具集,所以不用再单独安装mkxxxximage_tools.tar.bz2了,以前老的版本,只是交叉编辑内核,并不会制作文件系统镜像,要制作文件系统镜像要安装制作文件系统镜像的工具集,如果大家也想安装上就得交叉编译环境,资源在“\3+1实验班嵌入式linux培训\嵌入式开发资源\Linux平台开发工具包\老版本交叉编译器”中,参照前面的步骤安装。但是在profile配置文件中输入的信息为:
# pathmunge /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin
# pathmunge /usr/local/arm/2.95.3/bin
# pathmunge /usr/local/arm/3.3.2/bin
# pathmunge /usr/local/arm/3.4.1/bin
# pathmunge /opt/EmbedSky/crosstools_3.4.1_softfloat/arm-linux/gcc-3.4.1-glibc-2.3.3/bin
注意:如果想要使用某个版本的交叉编译器,请去掉该版本前面的“#”,同时为其它两个添加上“#”,各个版本交叉编译器功能如下
- 3.3.2 版本的交叉编译器用来编译Qtopia/Embedded
- 2.95.3 版本的交叉编译器用来编译VIVI 以及移植boa 时使用
- 3.4.1 版本的交叉编译器用来编译内核和busybox 等
- 3.4.1_softfolat 可以用来代替前面的那个3.4.1 的交叉编译器,编译光盘附带的u-boot 时需要该编译器
其中后两个版本的编译器可以用来编译应用程序等。
因为开发的需要可能要随时更改交叉编译器的版本,此时只用运行前面的指令“gedit/etc/profile”修改“/etc/profile”文件,然后使它生效“source /etc/profile”就OK 了,此时运行“arm-linux-gcc -v”就可以查看到更新的交叉编译器了。
(注意:更新后,可能在同一个终端里面查看时还是刚才那个交叉编译器,此时只需打
开一个新的终端,然后再查看交叉编译器,就会发现交叉编译器已经更换了。)
本文来源:https://www.2haoxitong.net/k/doc/96573adb7f1922791688e84a.html
文档为doc格式