各版本arm gcc區別與安裝

2021-10-24 18:48:41 字數 1951 閱讀 3253

(arm architecture,no vendor,not target an operating system,complies with the arm eabi)

android arm 編譯器。

(arm architecture, no vendor, creates binaries that run on the linux operating system, and uses the gnu eabi)

主要用於基於arm架構的linux系統,可用於編譯 arm 架構的 u-boot、linux核心、linux應用等。arm-none-linux-gnueabi基於gcc,使用glibc庫,經過 codesourcery 公司優化過推出的編譯器。arm-none-linux-gnueabi-*** 交叉編譯工具的浮點運算非常優秀。一般arm9、arm11、cortex-a 核心,帶有 linux 作業系統的會用到。

arm-none-uclinuxeabi 用於uclinux,使用glibc。

arm-none-symbianelf 用於symbian。

arm 公司推出的編譯工具,功能和 arm-none-eabi 類似,可以編譯裸機程式(u-boot、kernel),但是不能編譯 linux 應用程式。armcc一般和arm一起,keil mdk、ads、rvds和ds-5中的編譯器都是armcc,所以 armcc 編譯器都是收費的)。

嵌入式abi。嵌入式應用二進位制介面指定了檔案格式、資料型別、使用、堆積組織優化和在乙個嵌入式軟體中的引數的標準約定。開發者使用自己的組合語言也可以使用 eabi 作為與相容的生成的組合語言的介面。

兩者主要區別是,abi是計算機上的,eabi是嵌入式平台上(如arm,mips等)。

兩個交叉編譯器分別適用於 armel 和 armhf 兩個不同的架構,armel 和 armhf 這兩種架構在對待浮點運算採取了不同的策略(有 fpu 的 arm 才能支援這兩種浮點運算策略)。

其實這兩個交叉編譯器只不過是 gcc 的選項 -mfloat-abi 的預設值不同。gcc 的選項 -mfloat-abi 有三種值:

soft、softfp、hard(其中後兩者都要求 arm 裡有 fpu 浮點運算單元,soft 與後兩者是相容的,但 softfp 和 hard 兩種模式互不相容):

soft: 不用fpu進行浮點計算,即使有fpu浮點運算單元也不用,而是使用軟體模式。

softfp: armel架構(對應的編譯器為 arm-linux-gnueabi-gcc )採用的預設值,用fpu計算,但是傳引數用普通暫存器傳,這樣中斷的時候,只需要儲存普通暫存器,中斷負荷小,但是引數需要轉換成浮點的再計算。

hard: armhf架構(對應的 arm-linux-gnueabihf-gcc )採用的預設值,用fpu計算,傳引數也用fpu中的浮點傳,省去了轉換,效能最好,但是中斷負荷高。

sudo

apt-get

install gcc-arm-linux-gnueabi

sudo

apt-get

install gcc-arm-linux-gnueabihf

sudo

apt-get

install g++-arm-linux-gnueabi

sudo

apt-get

install g++-arm-linux-gnueabihf

sudo

apt-get remove gcc-arm-linux-gnueabi

sudo

apt-get remove gcc-arm-linux-gnueabihf

sudo

apt-get remove g++-arm-linux-gnueabi

sudo

apt-get remove g++-arm-linux-gnueabihf

MySQL各版本的區別

1.mysql community server 社群版本,開源免費,但不提供官方技術支援。2.mysql enterprise edition 企業版本,需付費,可以試用30天。3.mysql cluster 集群版,開源免費。可將幾個mysql server封裝成乙個server。4.mysql...

Apollo 各版本區別

apollo 1.0 也稱為自動gps航點跟蹤 可在封閉的場地 例如測試跑道或停車場 中工作。必須進行此安裝,以確保apollo與您的車輛完美配合。下圖列出了apollo 1.0中的各個模組。apollo 1.5適用於固定車道巡航。通過新增lidar,具有該版本的車輛現在可以更好地感知周圍環境,並且...

MySQL各版本的區別

1.mysql community server 社群版本,開源免費,但不提供官方技術支援。2.mysql enterprise edition 企業版本,需付費,可以試用30天。3.mysql cluster 集群版,開源免費。可將幾個mysql server封裝成乙個server。4.mysql...