為什么要用交叉編譯器?交叉編譯通俗地講就是在一種平臺(tái)上編譯出能運(yùn)行在體系結(jié)構(gòu)不同的另一種平臺(tái)上的程序,比如在PC平臺(tái)(X86 CPU)上編譯出能運(yùn)行在以ARM為內(nèi)核的CPU平臺(tái)上的程序,編譯得到的程序在X86 CPU平臺(tái)上是不能運(yùn)行的,必須放到ARM CPU平臺(tái)上才能運(yùn)行,雖然兩個(gè)平臺(tái)用的都是Linux系統(tǒng)。 交叉編譯工具鏈?zhǔn)且粋€(gè)由編譯器、連接器和解釋器組成的綜合開(kāi)發(fā)環(huán)境,交叉編譯工具鏈主要由binutils、gcc和glibc三個(gè)部分組成。有時(shí)出于減小 libc 庫(kù)大小的考慮,也可以用別的 c 庫(kù)來(lái)代替 glibc,例如 uClibc、dietlibc 和 newlib。建立交叉編譯工具鏈?zhǔn)且粋€(gè)相當(dāng)復(fù)雜的過(guò)程,如果不想自己經(jīng)歷復(fù)雜繁瑣的編譯過(guò)程,網(wǎng)上有一些編譯好的可用的交叉編譯工具鏈可以下載,但就以學(xué)習(xí)為目的來(lái)說(shuō)讀者有必要學(xué)習(xí)自己制作一個(gè)交叉編譯工具鏈(目前來(lái)看,對(duì)于初學(xué)者沒(méi)有太大必要自己交叉編譯一個(gè)工具鏈)。 分類和說(shuō)明從授權(quán)上,分為免費(fèi)授權(quán)版和付費(fèi)授權(quán)版。 免費(fèi)版目前有三大主流工具商提供,第一是GNU(提供源碼,自行編譯制作),第二是 Codesourcery,第三是Linora。 收費(fèi)版有ARM原廠提供的armcc、IAR提供的編譯器等等,因?yàn)檫@些價(jià)格都比較昂貴,不適合學(xué)習(xí)用戶使用,所以不做講述。
交叉編譯器下載
以上地址都是直接從官網(wǎng)轉(zhuǎn)存到百度云盤,僅為方便國(guó)內(nèi)用戶下載使用,并非本站制作,請(qǐng)勿用于商業(yè)或者非法用途。因?yàn)榘姹径嚯y以選擇,所以我們建議您使用該類編譯器的最新版本。 |
|