AArch64 是隨 ARMv8 ISA 一起引入的 64 位架構(gòu),用于執(zhí)行 A64 指令的計算機。而且在 AArch64 狀態(tài)下執(zhí)行的代碼只能使用 A64 指令集。,而不能執(zhí)行 A32 或 T32 指令。但是,與 AArch32 中不同,在64位狀態(tài)下,指令可以訪問 64 位和 32 位寄存器。
aarch64-linux-gnu-gcc 是一個交叉編譯工具鏈,可以在其他架構(gòu)的系統(tǒng)中,編譯安裝 64 位 arm 架構(gòu)的程序。常用在嵌入式代碼的移植中。aarch64-linux-gnu-gcc 是由 Linaro 公司基于 GCC 推出的的 ARM 交叉編譯工具。可用于交叉編譯 ARMv8 64 位目標中的裸機程序、u-boot、Linux kernel、filesystem 和 App 應(yīng)用程序。aarch64-linux-gnu-gcc 交叉編譯器必須安裝在 64 位主機上,才能編譯目標代碼。
軟件倉庫安裝
1.查看有哪些版本可以安裝
apt-cache search aarch64
2.選擇某個版本進行安裝
apt-get install gcc-10-aarch64-linux-gnu
可能會出現(xiàn) E: Unmet dependencies. 錯誤
使用 apt --fix-broken install 可解決依賴問題
root@kali:~/Documents/test# apt --fix-broken install
Reading package lists... Done
Building dependency tree ? ? ??
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
? dh-python libdouble-conversion1 liblinear3
......
3.安裝一個沒有版本號的 gcc-aarch64-linux-gnu
sudo apt-get install gcc-aarch64-linux-gnu
這樣就可以使用 gcc-aarch64-linux-gnu 了。如果你在安裝的過程中,出現(xiàn)了問題,也可以直接從官方網(wǎng)站下載編譯好的二進制文件,直接運行,不過,得注意下載的版本要與硬件架構(gòu)、系統(tǒng)版本相符。
官方二進制下載
Ubuntu packages 提供了軟件包: gcc-arm-linux-gnueabihf (4:7.4.0-1ubuntu2.3 以及其他的) 。
建議直接從 linaro 的官網(wǎng)下載相應(yīng)版本的 gcc-linaro 交叉編譯工具https://releases.linaro.org/components/toolchain/,并直接選擇帶有二進制的文件,即在官網(wǎng)入口處選擇 binaries 路徑https://releases.linaro.org/components/toolchain/binaries/,該文件夾下面包含各種版本的已經(jīng)編譯好的 aarch64-linux-gnu-gcc 二進制可執(zhí)行程序
x86_64 代表宿主機是64位的,其他的則都為32位的
_be 代表是大端模式,不帶該字段的為小端模式文章來源:http://www.zghlxwxcb.cn/news/detail-850797.html
下載完成之后,解壓,壓縮包里的 bin 目錄下,就有我們需要的交叉編譯器,直接使用即可。當然,也可以從 ARM 官網(wǎng)下載更多的 GNU Toolchain for the A-profile Architecturehttps://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads文章來源地址http://www.zghlxwxcb.cn/news/detail-850797.html
到了這里,關(guān)于交叉編譯工具 aarch64-linux-gnu-gcc 的介紹與安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!