嵌入式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單片機的引腳分布與內部功能結構
下一篇:最后一頁