嵌入式Linux开发日志:交叉编译工具链|当前独家

2023-05-24 16:07:42 来源:方正智芯

目前大多数工业控制系统都是嵌入式系统(少数简单系统采用裸机直接开发)。所谓“嵌入式系统”,是指嵌入到特定硬件内部的、具有特定功能的计算机系统。嵌入式系统一般由实时操作系统RTOS)+应用软件组成(PLC本身也是一种嵌入式系统)。常见的实时操作系统有:FreeRTOS、RT-LinuxVxWorksRT-Thread、SylixOS等。其中,RT-Thread和SylixOS都是纯国产的实时操作系统,前者依靠社区发展,资料非常丰富,我个人非常喜欢,后续会跟大家分享相关的知识。Linux本身并不是实时操作系统,做嵌入式开发,最好采用其实时分支——RT-Linux。嵌入式Linux系统由四大部分组成:交叉编译工具链、BootLoader、内核和根文件系统。今天这篇文章,跟大家介绍下怎么获取和设置交叉编译工具链。

由于嵌入式系统是运行在特定的板卡上,而开发环境使则是普通个人电脑。板卡的硬件与个人电脑有很大的不同,为了编译后的程序能在板卡上运行,必须采用交叉编译(可参看之前的文章:嵌入式开发 | 什么是交叉编译(CROSS_COMPILE))。交叉编译由交叉编译工具链完成。


(资料图片仅供参考)

1、工具链的下载与解压缩

交叉编译工具链是一组工具的集合。如果你购买开发板,通常厂家会提供交叉编译工具链,但是版本可能比较老。我们可去下面的网址下载Linaro的工具链:

https://releases.linaro.org/components/toolchain/binaries/

​https://releases.linaro.org

比如我们选择最新的latest-7,单击“arm-linux-gnueabihf”,进入下载页面,单击“gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz”下载工具链,如下图所示:

下载完成后,进入命令窗口,输入下面的命令解压缩:

tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.tar 

2、设置环境变量

将刚解压缩的工具链的/bin目录添加到环境变量PATH中,假设解压所的路径为:/home/jack/eLinux/toolChain/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf

则在命令窗口添加代码:

export PTAH=$PATH:/home/jack/eLinux/toolChain/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/binexportARCH=armexport CROSS_COMPILE=arm-linux-gnueabihf-

这种方式设置的环境变量是临时的,重启后会丢失。

永久设置环境变量的方法(二选一即可):

①:在/etc/profile.d/中新建脚本,比如linaro_toolchain.sh,在其中添加刚才的代码:

export PTAH=$PATH:/home/jack/eLinux/toolChain/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/binexport ARCH=armexport CROSS_COMPILE=arm-linux-gnueabihf-

保存脚本文件,为其增加可执行属性:

sudochmod+xlinaro_toolchain.sh

②:打开当前用户根目录下的profile文件(~/.profile),在其中添加刚才的代码:

export PTAH=$PATH:/home/jack/eLinux/toolChain/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/binexport ARCH=armexport CROSS_COMPILE=arm-linux-gnueabihf-

保存文件并编译或重启。

source ~/.profile

好了,关于交叉编译工具链的下载及设置就先介绍到这里。

审核编辑:汤梓红

标签:

上一篇:51单片机的引脚分布与内部功能结构
下一篇:最后一页