首頁  >  文章  >  後端開發  >  如何在 Ubuntu 上交叉編譯 Raspberry Pi?

如何在 Ubuntu 上交叉編譯 Raspberry Pi?

Susan Sarandon
Susan Sarandon原創
2024-11-17 07:22:03171瀏覽

How to Cross-Compile for Raspberry Pi on Ubuntu?

在Ubuntu 上對Raspberry Pi 進行交叉編譯

要在Ubuntu 上啟用Raspberry Pi 的交叉編譯,您需要安裝以下必備套件:

apt-get install git rsync cmake libc6-i386 lib32z1 lib32stdc++6

取得工具鏈

在您的主目錄中建立一個名為raspberrypi 的資料夾,並使用Git 下載工具鏈:

git clone git://github.com/raspberrypi/tools.git

選擇編譯器

在raspberrypi/tools 資料夾中選擇gcc-linaro-arm-linux-gnueabihf-raspbian 工具鏈。

將編譯器加入您的路徑

編輯.bashrc 檔案並新增以下行:

export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin

載入PATH 更改

重新啟動終端會話或執行. ~/.bashrc 以套用PATH 修改。

驗證編譯器

執行arm-linux-gnueabihf-gcc -v 以驗證編譯器的安裝。它應該顯示有關所選工具鏈的資訊。

建立Rootfs 和CMake 設定

要解決缺少共享庫的問題,請執行以下附加步驟:

  1. 在你的raspberrypipi目錄中建立一個rootfs 資料夾。
  2. 使用rsync 將/lib 和/usr 目錄從Raspberry Pi 複製到Ubuntu 電腦上的rootfs 目錄:

    rsync -rl --delete-after --safe-links [email protected]:/{lib,usr} $HOME/raspberrypi/rootfs
  3. 在raspberrypi資料夾中建立名為pi.cmake的CMake設定檔:
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++)
SET(CMAKE_FIND_ROOT_PATH $ENV{HOME}/raspberrypi/rootfs)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

與CMake交叉編譯

要使用CMake 交叉編譯程序,請在呼叫CMake 時指定CMAKE_TOOLCHAIN_FILE變數:

cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ...

以上是如何在 Ubuntu 上交叉編譯 Raspberry Pi?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn