關(guān)于ARM交叉編譯工具鏈的介紹與下載請(qǐng)點(diǎn)我跳轉(zhuǎn) 一、簡(jiǎn)介:
簡(jiǎn)單介紹一下:交叉編譯器一般來(lái)說(shuō)是針對(duì)某個(gè)特定版本的uboot和kernel來(lái)專(zhuān)門(mén)制作的,也就是說(shuō),如果一個(gè)開(kāi)發(fā)板的uboot和內(nèi)核版本確定了,那么對(duì)應(yīng)的編譯器版本也就確定了。
① 因?yàn)殡S著時(shí)間的推移,C/C++語(yǔ)言的標(biāo)準(zhǔn)每隔一段時(shí)間就更新擴(kuò)展一次,導(dǎo)致的結(jié)果是修改uboot和kernel的那幫工作人員在使用新標(biāo)準(zhǔn)的語(yǔ)言寫(xiě)代碼時(shí),就必須要有支持這個(gè)標(biāo)準(zhǔn)的對(duì)應(yīng)的編譯器才能解析、編譯;
② 另外,某個(gè)版本的編譯器支持一個(gè)特性,而這個(gè)特性恰恰又被運(yùn)用到了內(nèi)核源碼中,經(jīng)過(guò)一段時(shí)間的bug反饋,下個(gè)版本的編譯器可能就移除了這個(gè)特性,這時(shí)你用新版本的編譯器肯定是無(wú)法編譯使用了這個(gè)特性的內(nèi)核的。
綜上所述,上面這兩種情況就是導(dǎo)致編譯器版本眾多的主要原因。
二、安裝:
① 找到開(kāi)發(fā)板所需要對(duì)應(yīng)的配套交叉編譯工具鏈
② 拷貝到Linux版本(如ubuntu)中
③ 解壓到任意目錄(一般用tar命令)
④ 在解壓后的目錄里找到bin文件,并記住該文件的目錄。如/work/tools/gcc-3.4.5-glibc-2.3.6/bin
⑤ 添加環(huán)境變量 ?sudo vim /etc/environment
⑥ 使環(huán)境變量生效 source /etc/environment
三、注意:
Ⅰ、在④中,為了方便開(kāi)發(fā)一般將bin中的編譯鏈接格式統(tǒng)一為arm-linux-xxx
,如果不是則需要用軟連接修改過(guò)來(lái),如下圖:
Ⅱ、 如果想要在root模式和用戶模式都是用交叉編譯工具鏈,那么兩種模式下的/etc/environment
都需要添加環(huán)境變量,如下圖: