樹莓派 交叉編譯

2021-10-23 18:50:46 字數 1266 閱讀 4128

1、編譯:例如在linux上進行gcc直接編譯,編譯出來的可執行檔案是在本機能夠執行;

2、交叉編譯:下位機,如c51,stm32,若沒有足夠內存放編輯器,需要上位機進行跨機編譯來生成可執行檔案的,就是交叉編譯。

需要交叉編譯的原因:

由於本人嘗試的是樹莓派的交叉編譯,所以使用的工具是:gcc-linaro-arm-linux-gnueabihf-raspbian-x64

1、linux系統環境上新增bin目錄,輸入以下語句:

(1)在乙個終端下輸入:

echo $path
顯示當前環境變數

(2)永久設定環境變數,輸入:

vi /home/asus/

.bashrc

這是乙個隱藏檔案。/home/下的是使用者名稱,是你給你linux系統起的名字,本人用的是預設的。然後在最下方輸入:

export path=

[(1)中顯示的path]

:[你編譯工具bin的路徑]

例如本人的如下:

export path=

/usr/local/sbin:

/usr/local/bin:

/usr/sbin:

/usr/bin:

/sbin:

/bin:

/usr/games:

/usr/local/games:

/home/asus/desktop/tools/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

工具的路徑設定在最後乙個games的冒號後面!!

此時輸入以下語句判斷是否設定成功:

arm-linux-gnueabihf-gcc -v
當顯示出正確的版本資訊,說明成功了。此時,只需要把碼好的**進行編譯就可以了。

arm-linux-gnueabihf-gcc [你的程式.c]

-o [想要的名字]

因為樹莓派和電腦連線在同乙個網段下,直接使用wifi傳遞檔案過去。使用以下語句:

scp [你的程式名稱]

[樹莓派名稱]@ip位址:

[存放的路徑]

一般也可能需要輸入樹莓派登入的密碼進行驗證。輸入後就可以傳輸成功了。可以檢視樹莓派對應位置已經存在該程式,也可以直接執行。

樹莓派之交叉編譯

1 為什麼要使用交叉編譯 交叉編譯工具較快開發的速度。樹莓派中已經安裝了gcc工具鏈,可在樹莓派中直接編譯源 生成可執行檔案。於此同時,pc機上也可使用gcc工具鏈生成可執行 但是和樹莓派上的gcc工具不同,pc機上的gcc工具生成intel或amd晶元上可執行的 但樹莓派卻是arm系列的晶元,顯然...

樹莓派核心模組交叉編譯

一 獲得arm gcc 交叉編譯器 安裝該編譯器,把編譯器路徑加入到環境變數中 gedit bashrc在最後一行新增 export path path your dir tools master arm bcm2708 arm bcm2708hardfp linux gnueabi bin 然後終...

Ubuntu實現樹莓派交叉編譯

一 交叉編譯 在乙個平台上生成另乙個平台上的可執行 為什麼要大費周折的進行交叉編譯呢?一句話 不得已而為之。有時是因為目的平台上不允許或不能夠安裝所需要的編譯器,而又需要這個編譯器的某些特徵 有時是因為目的平台上的資源貧乏,無法執行所需要的編譯器 有時又是因為目的平台還沒有建立,連作業系統都沒有,根...