版本
日期作者
說明v1
2020
韋東山摘自《嵌入式linux應用開發完全手冊》
注意:使用我們提供的ubuntu映象檔案時,請按照我們的目錄結構,手動設定交叉編譯工具鏈以及編譯的架構環境變數配置,(建議配置為永久生效),這裡我們提供了兩種交叉編譯工具鏈,分別是buildroot構建生成的8.4以及yocto生成的9.3工具鏈,開發板系統預設安裝的系統使用的是通過yocto編譯構建,所以如果只想針對於檔案系統應用做開發或者編譯核心uboot等操作,建議只使用yocto的交叉編譯工具鏈。
交叉編譯工具鏈用來在ubuntu主機上編譯應用程式,而這些應用程式是在arm等其他平台上執行。
設定交叉編譯工具主要是設定path, arch和cross_compile三個環境變數,下面介紹具體設定方法。
在本文件中,原始碼、交叉編譯工具鏈都是存放於/home/book目錄下;如果你的目錄不一樣,請自行修改本節所講述的命令。
也可以手工執行「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-
先設定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-
book@100ask:
~$ echo $arch
armbook@100ask:
~$ echo $cross_compile
arm-ostl-linux-gnueabi-
執行以下命令,結果見後圖:
交叉編譯工具鏈用來在ubuntu主機上編譯應用程式,而這些應用程式是在arm等其他平台上執行。
設定交叉編譯工具主要是設定path, arch和cross_compile三個環境變數,下面介紹具體設定方法。
在本文件中,原始碼、交叉編譯工具鏈都是存放於/home/book目錄下;如果你的目錄不一樣,請自行修改本節所講述的命令。
book@100ask:
~$ vim ~
/.bashrc
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 命令使其生效,這條命令是載入這些設定的環境變數。
也可以手工執行「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
先設定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-
book@100ask:
~$ echo $arch
armbook@100ask:
~$ echo $cross_compile
arm-buildroot-linux-gnueabihf-
執行以下命令,結果見後圖:
嵌入式Linux 配置交叉編譯工具鏈
我的交叉編譯軟體包為arm 2009q3.tar.bz2,首先在 usr local目錄下建立arm目錄,將軟體包解壓到該目錄下。linux中所有目錄性質都是一樣的,裝在哪個目錄下都是可以的,為了方便管理,一般軟體之類的都裝在 usr目錄下。mkdir usr local arm tar jxvf ...
嵌入式 交叉編譯工具配置及編譯
目的不在如何實現交叉編譯工具配置及編譯,主要記錄一些過程中遇到的一些問題。環境 ununtu16.04 解壓縮交叉編譯器工具 記得將壓縮包拖至虛擬機器中。進入所在目錄 我放在桌面 解壓命令 tar xvzf arm linux gcc 4.5.1 v6 vfp 20101103.tgz c 注意 c...
交叉編譯VIM並移植到ARM嵌入式Linux系統
一 編譯環境 host 機 ubuntu 16.10 32bit target arm 交叉工具鏈 arm linux gnueabi gcc 工具包 vim 7.4.tar.bz2 ncurses 5.9.tar.gz vimncurses 二 編譯準備 home abc test 資料夾,解壓縮...