制定交叉编译工具_配置交叉编译工具链-嵌入式Linux
注意:使用我們提供的Ubuntu映象文件時,請按照我們的目錄結構,手動設置交叉編譯工具鏈以及編譯的架構環境變量配置,(建議配置為永久生效),這里我們提供了兩種交叉編譯工具鏈,分別是buildroot構建生成的8.4以及yocto生成的9.3工具鏈,開發板系統默認安裝的系統使用的是通過yocto編譯構建,所以如果只想針對于文件系統應用做開發或者編譯內核uboot等操作,建議只使用yocto的交叉編譯工具鏈。
1.設置 yocto 交叉編譯工具鏈(不推薦)
交叉編譯工具鏈用來在Ubuntu主機上編譯應用程序,而這些應用程序是在ARM等其他平臺上運行。
設置交叉編譯工具主要是設置PATH, ARCH和CROSS_COMPILE三個環境變量,下面介紹具體設置方法。
在本文檔中,源碼、交叉編譯工具鏈都是存放于/home/book目錄下;如果你的目錄不一樣,請自行修改本節所講述的命令。
設置這3個環境變量有多種方法,任意選擇其中一種方法即可。錄制視頻時我會使用多種開發板,所以在視頻里我總是使用“臨時生效”的方法。
1.1 臨時生效
也可以手工執行“export”命令設置環境變量,該設置只對當前終端有效(另開一個終端需要再次設置)。100ASK_STM32MP157_PRO全功能版
示例如下,第1條命令很長,這里使用 \ 用來換行,復制的時候需要一并復制,注意 \ 前面沒有空格:
book@100ask:~$ source /home/book/100ask_stm32mp157_pro-sdk/ToolChain/\
openstlinux_eglfs-linux-gnueabi/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
book@100ask:~$ export ARCH=arm
book@100ask:~$ export CROSS_COMPILE=arm-ostl-linux-gnueabi-
1.2 手動指定
先設置PATH環境變量,然后在make編譯時指定ARCH架構 CROSS_COMPILE交叉編譯工具鏈(執行make命令時指定的參數,只對當前命令有效;下次執行make時仍需要再次指定那些參數)。100ASK_STM32MP157_PRO全功能版
示例如下,第1條命令很長,這里使用 \ 用來換行,復制的時候需要一并復制,注意 \ 前面沒有空格:
book@100ask:~$ source /home/book/100ask_stm32mp157_pro-sdk/ToolChain/\
openstlinux_eglfs-linux-gnueabi/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
book@100ask:~$ make ARCH=arm CROSS_COMPILE=arm-ostl-linux-gnueabi-
2.測試交叉編譯工具鏈
2.1 測試環境變量:
book@100ask:~$ echo $ARCH
arm
book@100ask:~$ echo $CROSS_COMPILE
arm-ostl-linux-gnueabi-
2.2 測試交叉編譯器:
執行以下命令,結果見后圖:
book@100ask:~$ arm-ostl-linux-gnueabi-gcc –v
3.設置 buildroot 交叉編譯工具鏈(默認使用)
交叉編譯工具鏈用來在Ubuntu主機上編譯應用程序,而這些應用程序是在ARM等其他平臺上運行。
設置交叉編譯工具主要是設置PATH, ARCH和CROSS_COMPILE三個環境變量,下面介紹具體設置方法。
在本文檔中,源碼、交叉編譯工具鏈都是存放于/home/book目錄下;如果你的目錄不一樣,請自行修改本節所講述的命令。
設置這3個環境變量有多種方法,任意選擇其中一種方法即可,建議使用“永久生效”的方法。錄制視頻時我會使用多種開發板,所以在視頻里我總是使用“臨時生效”的方法。
3.1 永久生效
如需永久修改,請修改用戶配置文件。
注意:如果不會使用vim命令,可以使用圖形化的編輯工具,執行:gedit ~/.bashrc
book@100ask:~$ vim ~/.bashrc100ASK_STM32MP157_PRO全功能版
在行尾添加或修改,加上下面幾行(第3行很長,這里使用小字體方便大家復制):
book@100ask:~$ export ARCH=arm
book@100ask:~$ export CROSS_COMPILE=arm-buildroot-linuxgnueabihf-
book@100ask:~$ export PATH=$PATH:/home/book/100ask_stm32mp157_pro-sdk/ToolChain/\
arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
設置完畢后,要執行 source ~/.bashrc 命令使其生效,這條命令是加載這些設置的環境變量。
3.2 臨時生效
也可以手工執行“export”命令設置環境變量,該設置只對當前終端有效(另開一個終端需要再次設置)。100ASK_STM32MP157_PRO全功能版
執行以下3個命令,第3個命令很長,這里使用 \ 用來換行,復制的時候需要一并復制,注意 \ 前面沒有空格:
book@100ask:~$ export ARCH=arm
book@100ask:~$ export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
book@100ask:~$ export PATH=$PATH:/home/book/100ask_stm32mp157_pro-sdk/ToolChain/\
arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
3.3 手動指定
先設置PATH環境變量,然后在make編譯時指定ARCH架構 CROSS_COMPILE交叉編譯工具鏈(執行make命令時指定的參數,只對當前命令有效;下次執行make時仍需要再次指定那些參數)。100ASK_STM32MP157_PRO全功能版
示例如下,第1條命令很長,這里使用 \ 用來換行,復制的時候需要一并復制,注意 \ 前面沒有空格:
book@100ask:~$ export PATH=$PATH:/home/book/100ask_stm32mp157_pro-sdk/ToolChain/\
arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
book@100ask:~$ make ARCH=arm CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
4.測試交叉編譯工具鏈
4.1 測試環境變量:
book@100ask:~$ echo $ARCH
arm
book@100ask:~$ echo $CROSS_COMPILE
arm-buildroot-linux-gnueabihf-
4.2 測試交叉編譯器:
執行以下命令,結果見后圖:
book@100ask:~$ arm-buildroot-linux-gnueabihf-gcc –v
技術交流群(鴻蒙開發/Linux/嵌入式/驅動/資料下載)
QQ群:869222007
單片機-嵌入式Linux交流群:
QQ群:536785813
百問科技公眾號
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的制定交叉编译工具_配置交叉编译工具链-嵌入式Linux的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消防设施有哪些(常见消防设施5种)
- 下一篇: 刘亦菲妹妹(刘亦菲妹妹是谁)