交叉編譯器可以使我們在主機上編譯出可以在嵌入式裝置上執行的程式
install gcc-aarch64-linux-gnu#安裝64位用於作業系統的交叉編譯器,gcc版本是5.4,安裝位置在/usr/bin
sudo
apt-get
install gcc-arm-linux-gnueabihf#安裝32位用於作業系統的交叉編譯器,gcc版本是5.4,安裝位置在/usr/bin
有好多可選,接下來一一解釋這麼些都是些啥,這麼長的名字都分別代表了什麼含義。我們只對x86_64 linux系統主機中的幾個交叉編譯器進行名字分析,windows的不管
代表gcc編譯器
代表目標晶元為arm
gcc的版本
該交叉編譯工具發布時間
主機的平台可以是32位系統也可以是64位系統
目標晶元執行的架構和是否帶作業系統
用什麼庫相關
32位裸機
gccarm
8.32019.03
x86_64
arm(32位無作業系統的裸機)
eabi
32位帶作業系統
arm-linux
(32位linux系統)
gnueabihf
(針對使用gnu針對pc的glibc庫,且是硬浮點)
64位裸機
aarch64
(64位無作業系統的裸機)
elf(用嵌入式庫uclib或newlib)
64位帶作業系統
aarch64-linux
(64位linux系統)
-gnu
(用gnu針對pc的glibc庫,64位預設是硬浮點)
#該目錄下的aarch64-linux-gnu-gcc才是真正代替gcc進行編譯的本體
export cross_compile=aarch64-linux-gnu-#用於指定交叉編譯,在大部分專案的makefile檔案中該引數會加在gcc前面
export arch=arm64#用於大部分專案指定目標架構,包括後續涉及的uboot、linux原碼等專案
檢視
aarch64-linux-gnu-gcc --version#列印出版本資訊
然後編譯的時候就直接使用aarch64-linux-gnu-gcc main.c -o main.out#跟gcc一樣用
make -j4#完成第一步的新增環境變數後就可用於大部分專案的makefile
ARM交叉編譯器命名規則
命名規則 交叉編譯工具鏈的命名規則為 arch vendor os gnu eabi arch 體系架構,如arm,mips verdor 工具鏈提供商 os 目標作業系統 eabi 嵌入式應用二進位制介面 根據對作業系統的支援與否,arm gcc可分為支援和不支援作業系統,如 arm none e...
交叉編譯器
交叉編譯器可以使我們在主機上編譯出可以在嵌入式裝置上執行的程式 install gcc aarch64 linux gnu 安裝64位用於作業系統的交叉編譯器,gcc版本是5.4,安裝位置在 usr bin sudo apt get install gcc arm linux gnueabihf 安...
ubuntu安裝交叉編譯器 安裝交叉編譯器
2 安裝方法二 1 安裝方法一 開啟ubuntu終端 使用sudo apt list gcc arm 可以檢視所有的交叉編譯器,假設安裝gcc arm linux gnueabihf,則使用sudo apt get install gcc arm linux gnueabihf就裝好了。參考 2 安...