ARM交叉编译环境安装记录_第1页
ARM交叉编译环境安装记录_第2页
ARM交叉编译环境安装记录_第3页
ARM交叉编译环境安装记录_第4页
ARM交叉编译环境安装记录_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页ARM交叉编译环境安装记录一、什么是ARM交叉编译环境交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。比如,我们在Windows平台上,可使用VisualC++开发环境,编写程序并编译成可执行程序。这种方式下,我们使用PC平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为nativecompilation,中文可理解为本机编译。然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的ARM平台,其一般的静态存储空间大概是16到32MB,而CPU的主频大概在100MHz到500MHz之间。这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilationtoolchain)需要很大的存储空间,并需要很强的CPU运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。

出处:/item/%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%9二、获取安装所需文件在进行环境搭建前,需要首先获取ARM交叉编译工具。可以选择自行获取源码从源码编译相关文件,也可以使用网络上提供的现成文件。从源码编译是一件繁琐并且相当耗时的事,所以一般会选择使用芯片或开发板厂家提供的现成的ARM交叉编译工具。

如果希望自己根据实际芯片平台制作ARM交叉编译器,可以使用crosstool工具自行制作,以下提供一篇别人写的教程:/lhw88117/article/details/7183896,不保证完全正确,毕竟笔者也没试过,等笔者有空可以自己尝试编译一次写一篇博客。也可以考虑使用crosstool_ng,听说更好用,参考文章可以看看这个:/c1194758555/article/details/59112263

获取到工具链的压缩包然后上传到linux。这里笔者准备了arm-2023.05-29-arm-none-linux-gnueabi.src.tar.bz2,以下均以此为基础安装编译环境。

三、安装交叉编译环境使用cd命令进入压缩包所在目录,解压压缩包,以下命令解压压缩包内文件到当前目录下:

#解压文件tar-xfarm-2023.05-29-arm-none-linux-gnueabi.src.tar.bz2进入解压后的目录,这里笔者解压后的目录为arm-2023.05,其下有一个bin目录,其中为ARM交叉编译工具的各个可执行文件。进入bin目录并执行以下命令打印编译器版本信息,如果正常打印,则表示编译器运行正常。

#打印版本信息,具体的执行文件名称可能因为版本原因有所不同./arm-none-linux-gnueabi-gcc-v执行命令后会在打印信息的末尾显示版本信息,笔者打印信息如下:gccversion4.8.320230320(prerelease)(SourceryCodeBenchLite2023.05-29)

有些版本的编译器可能会因为缺少32运行库导致运行失败,通过以下命令可以安装32位运行库,失败时可以尝试一下。只适用于Centos7,最新的Centos8会提示找不到xulrunner.i686,估计是官方不再提供支持了==。

#安装32位运行环境sudoyuminstallxulrunner.i686#顺带把32位的glib库支持安装了,经常用sudoyum-yinstallglibc-devel.i686glibc-devel四、配置PATH环境变量配置PATH环境变量可以告诉shell当我们需要执行一条命令时,可以去哪里找这条命令,这样我们要调用编译器时就不用每次都进入编译器所在目录。以下提供一种PATH环境变量的配置方法:

#使用以下命令可以查看当前的PATH环境变量内容echo$PATH#之后命令需要安装文本编辑器,这里以安装nano为例,已有编辑器的无视我sudoyuminstallnano#修改home目录下的.bashrc文件来配置环境变量,此操作只对目前用户生效nano~/.bashrc打开.bashrc文件后,在其末尾添加一条语句:exportPATH=/home/water/arm-2023.05/bin:$PATH其中/home/water/arm-2023.05/bin替换为实际编译器执行文件所在目录,修改完成后保存退出。

为了使修改生效,手动更新一下环境变量信息

#更新环境变量信息source~/.bashrc#回到home目录cd~#现在可以在任意目录使用编译器了,试着再次打印版本信息arm-none-linux-gnueabi-gcc-v更多环境变量的配置方法可以参见此博文:/boolbo/article/details/5243776

五、为常用的编译器命令设置软链接Linux软链接,类似于windows系统的快捷键,这里我们可以用软链接为编译器的各个执行文件起个短一点的名字方便我们调用。

#进入编译器执行文件所在目录,这里为/home/water/arm-2023.05/bincd/home/water/arm-2023.05/bin#为arm-none-linux-gnueabi-gcc设置名为arm-linux-gcc的软连接lnarm-none-linux-gnueabi-gccarm-linux-gcc#为arm-none-linux-gnueabi-ld设置名为arm-linux-ld的软连接lnarm-none-linux-gnueabi-ldarm-linux-ld#为arm-none-linux-gnueabi-objcopy设置名为arm-linux-objcopy的软连接lnarm-none-linux-gnueabi-objcopyarm-linux-objcopy#为arm-none-linux-gnueabi-objdump设置名为arm-linux-objdump的软连接lnarm-none-linux-gnueabi-objdumparm-linux-objdump了解更多linux下的软链接知识,可以参考此博文:/_21386275/article/details/79881543

六、一些唠叨话呼,总算写完了。其实这篇博文早在半个月前就想要动笔写的,不过当时刚把交叉编译器用利索不久,很多地方自己都迷迷糊糊,再加上本人身患的拖延癌作怪,所以就拖到现在了。不过我现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论