- 使用arm-2009q3.tar這一款交叉編譯器挫望。三星公司開發(fā)S5PV210時使用的翩腐,錯誤最少禾锤。
- 在linux系統(tǒng)下的應(yīng)用程序一般安裝在那里呢?
從技術(shù)角度講议街,都可以。但是有些約定俗稱的璧榄,比如/bin安裝系統(tǒng)自帶的用戶常使用的應(yīng)用程序特漩,/sbin中放置系統(tǒng)自帶的與系統(tǒng)管理相關(guān)的應(yīng)用程序,/usr下安裝用戶的應(yīng)用程序骨杂。 - 安裝的過程還是比較簡單的涂身,把arm-2009q3.tar.bz2從共享文件夾/mnt/hgfs/ubuntu16_shared中拷到linux中,然后把arm-2009q3.tar.bz2這一壓縮文件解壓搓蚪,值得一提的是解壓命令
tar
-c 建立新的打包文件
-r 向打包文件末尾追加文件
-x 從打包文件中解出文件
-o 將文件解開到標(biāo)準(zhǔn)輸出
-v 處理過程中輸出相關(guān)信息
-f 對普通文件操作
-z 調(diào)用 gzip 來壓縮打包文件蛤售,與-x 聯(lián)用時調(diào)用 gzip 完成解壓縮
-j 調(diào)用 bzip2 來壓縮打包文件,與-x 聯(lián)用時調(diào)用 bzip2 完成解壓縮
-Z 調(diào)用 compress 來壓縮打包文件妒潭,與-x 聯(lián)用時調(diào)用 compress 完成解壓縮
常見的壓縮文件一般有兩種方式悴能,tar.gz和tar.bz2。tar.gz使用tar -zxvf xxx.tar.gz
來解壓杜耙,而tar.bz2使用tar -jxvf xxx.tar.bz2
我的比較俗氣的記憶方式是.bz2是用-jxvf搜骡,jb一組。
最后的可執(zhí)行程序路徑是:/usr/local/arm/arm-2009q3/bin
- 在上面的安裝完成之后佑女,其實已經(jīng)是可以使用交叉編譯工具了的记靡,但是每次使用的時候要加上目錄谈竿,即
/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc
,單獨直接使用arm-none-linux-gnueabi-gcc
會出現(xiàn)找不到命令的情況摸吠,所以這里涉及了一個重要的問題:環(huán)境變量空凸。
- 環(huán)境變量相當(dāng)于操作系統(tǒng)的全局變量,我們要用的全局變量PATH的意義是:指定命令的搜索路徑寸痢。
- 可以用echo命令來打印出PATH的值呀洲。
echo $PATH
結(jié)果顯示為/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
- 將
/usr/local/arm/arm-2009q3/bin
加到PATH中,以后使用arm-linux-gcc命令的時候就可以直接使用不加目錄了啼止。具體方法是使用export PATH=/usr/local/arm/arm-2009q3/bin:$PATH
- 但是在某一終端執(zhí)行上述命令后道逗,只會在上述終端有效,關(guān)掉以后就沒用了献烦。在linux的宿主目錄下有一個文件叫 /root/.bashrc滓窍,每個終端在啟動時都會調(diào)用該文件,所以將上面的語句寫到.bashrc中就可以了巩那!
- 最后就是諸如
arm-none-linux-gnueabi-gcc
這樣的命令比較復(fù)雜吏夯,所以需要創(chuàng)建方便的符號鏈接,比如ln arm-none-linux-gnueabi-gcc -s arm-linux-gcc
之后就可以直接使用arm-linux-gcc這個命令了即横。 - 注意噪生,如果使用的是64位的ubuntu系統(tǒng)(我用的ubuntu16),是不兼容這個交叉編譯鏈的东囚,需要通過
sudo apt-get install lib32ncurses5 lib32z1
來安裝32位的庫支持跺嗽。
至此,交叉編譯工具就安裝完畢啦舔庶!喜聞樂見抛蚁!