配套資料在網盤資料“iTOP-3568 開發板\02_iTOP-3568 開發資料匯總(不含光盤資料)\10_Linux 系統開發配套資料\交叉編譯 C 程序配套資料” 21.1 設置交叉編譯工具 交叉編譯工具在網盤資料“iTOP-3568 開發板\02_iTOP-3568 開發資料匯總(不含光盤資料)\10_Linux系統開發配套資料\交叉編譯 C 程序配套資料\交叉編譯器”目錄下,我們將壓縮包拷貝到 Ubuntu 的/usr/local/arm64 目錄下(如果沒有 arm64 文件夾的話,需要新建一個 arm64 文件夾),然后解壓,如下圖所示: ![]() 方法一:設置臨時環境變量 所謂的臨時環境變量,是指在某個窗口設置了交叉編譯的環境變量,如果是換了別的終端窗口就失效了。 我們設置臨時環境變量如下圖所示: export PATH=/usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin ![]() 輸入“echo $PATH”,查看環境變量是否添加,添加好環境變量如下圖箭頭所示: ![]() 注意!!!交叉編譯 C 程序必須在剛剛設置過環境變量的窗口進行編譯操作。 hello.c 在光盤資料“iTOP-3568 開發板\02_iTOP-3568 開發資料匯總(不含光盤資料)\10_Linux 系統開 發配套資料\交叉編譯 C 程序配套資料\C 程序”目錄下。 輸入以下命令編譯: aarch64-linux-gnu-gcc hello.c -o hello chmod 777 hello ![]() 方法二:不設置環境變量,直接使用絕對路徑編譯。 我們要使用的交叉 編 譯 器 aarch64-linux-gnu-gcc , 在 虛 擬 機 ubuntu 的 /usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin 這個路徑下,所以我們可以直接使用 絕對路徑找到這個編譯器來編譯,回到 hello.c 所在的路徑,使用命令交叉編譯 hello.c /usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc hello.c -o hello ![]() 2 運行 C 程序 我們將上一步編譯好的 hello 可執行程序拷貝到開發板上,開發板上可以燒寫 Linux 系統,Debian 系統,Ubuntu 系統,我們以 buildroot 系統為例。 首先將 hello 可執行程序拷貝到 U 盤上,然后將 U 盤插到開發板的 usb 口,授予 hello 777 權限,然后運行程序,如下圖所示: ![]() 大家可以參考編譯 hello 的過程來編譯其他 C 程序。 |