1. 程式人生 > >Ubuntu 16.04(64bit)嵌入式交叉編譯環境搭建arm-linux-gcc使用

Ubuntu 16.04(64bit)嵌入式交叉編譯環境搭建arm-linux-gcc使用

1.把壓縮包arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz放在一個資料夾下,然後在終端進入到該資料夾,將該壓縮包解壓到所需的目錄下(我解壓在了根目錄下)
這裡寫圖片描述
下面是tar命令的描述
這裡寫圖片描述

2.然後改變環境變數,能使arm-linux-gcc能直接執行。
輸入 gedit /root/.bashrc
然後在檔案中加入
export PATH=”$PATH:/opt/FriendlyARM/toolschain/4.5.1”
這裡寫圖片描述

3.重啟系統或者登出賬號在登入就能生效了,然後輸入 arm-Linux-gcc -v 檢視版本就能檢測是否修改成功。然而64位的ubuntu下輸入會顯示無法找到該檔案,因為64位下無法執行32位的,你需要安裝32位執行庫


輸入 sudo apt-get install libc6:i386
再次檢視就能顯示資訊
這裡寫圖片描述

4.用gcc編譯檔案
進入到檔案所在的目錄下,用gcc編譯檔案()(bubble.c存在warning,可以用gbd除錯)(-o:指定生成的輸出檔案)
這裡寫圖片描述
如果嘗試執行該程式,會顯示
這裡寫圖片描述
因為arm-linux-gcc是用於編譯開發板下的程式,當然不能在PC機下執行,同樣無法用gbd進行除錯,只有用gcc編譯才行(然後我傻傻夫夫的查這個原因查了好久)

5.如果新建一個檔案下,將bubble.c移動到該檔案下,那麼你再次重新編譯該檔案,將會找不到該檔案(類似於呼叫第三方函式庫)
這裡寫圖片描述
可以使用 -I命令用於指定檔案位置


這裡寫圖片描述

6.將bubble.c編譯程動態連結庫,用gcc再次連線

7.用-O1/-O2/-O3不同優化等級進行編譯bubule.c 檢視檔案大小
這裡寫圖片描述
然而因為程式太小了,所以無法進行優化(尷尬
如果-g加入除錯資訊 ,檔案就會變大
這裡寫圖片描述