交叉編譯環境簡單的說不過就是想在一個系統下編譯另一個系統要使用的可執行文件。因此在通過PC機(虛擬機)開發ARM系統時是必要的。
下面開始講安裝步驟。
第一是開始準備。Linux系統的準備,樓主用的是Centos。虛擬機。
第二是下載petalinux-sdk。 網址:http://www.xilinx.com/support/download/index.htm
選擇ISE Design Tools >>選擇你要的版本的 PetaLinux SDK 中的第一項(包括ZYNQ那個)大概1G左右
第三就是將下載好的文件複製到虛擬機下,最好是複製到某一個用戶的home文件夾下。
第四,將剛纔複製的文件解壓 保證磁盤空間足夠
第五,是很重要的一步!!!交叉編譯環境需要很多必要的庫文件,這些需要的庫文件在(http://www.xilinx.com/publications/products/petalinux/petalinux-installation-guide.pdf)最後一部分有寫,根據你用的是Ubuntu系統還是紅帽子 centos系統什麼的,你要選擇對應的命令下面的名字,將所有的安裝一遍(有的已經安裝會提示,版本低的會升級。此處樓主有時候會因爲下載不到報錯,只要重試幾次就好了)。
RedHat/CentOS/Fedora系統用$ sudo yum install -y <yum-package-name>命令
Debian/Ubuntu類型的系統用$ sudo apt-get install -y <apt-package-name>
經過第五步!!!!我們開始第六步,就是開始安裝了,進入解壓後的文件夾,可以看到setting.sh,如果此腳本不是可執行文件 用命令chmod 777 setting.sh將它的權限改成可執行。並使用(!!非root!!!)用戶登錄 運行 source setting.sh 然後根據提示 同意兩個協議,然後就開始安裝了。如果報錯 可能是你硬盤空間不足 或者是庫文件沒安裝完整。有問題可以去上面那個pdf中找troubleshooting裏面找解決辦法。
第七步 可以試試arm-xilinx-linux-gnueabi-g 然後按兩次tab 看是否已經可以使用了。這時候還不行,因爲環境變量只是暫時設置了,重啓後失效。所以在用戶目錄下(~/) 用vi編輯.bashrc 在下面添加腳本:
export PETALINUX="$HOME/petalinux-v2013.04-final-full/tools"
export PATH="$PATH:$PETALINUX/linux-i386/arm-xilinx-linux-gnueabi/bin"
export PATH="$PATH:$PETALINUX/linux-i386/microblazeel-xilinx-linux-gnu/bin"
export PATH="$PATH:$PETALINUX/linux-i386/microblaze-xilinx-linux-gnu/bin"
export PATH="$PATH:$PETALINUX/linux-i386/petalogix/bin"
export PATH="$PATH:$PETALINUX/common/petalogix/bin"
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
其中第一句後面的路徑爲你安裝的路徑,需要按照你安裝的路徑自己更改
第八步 可以用arm-xilinx-linux-gnueabi-gcc編譯一個.c文件 或者 arm-xilinx-linux-gnueabi-g++編譯一個c++文件,命令用法與gcc和g++用法相同。然後將生成的文件複製到zedboard上面上面的linux環境即可運行。
第一個當然是Helloworld了。。。代碼:
#include<stdio.h>
main()
{
printf("Hello Alan\n");
printf("Wo le ge qu OOOOOOKKKKKKK le !!!!!\n");
}
保存爲main.c文件
運行命令arm-xilinx-linux-gnueabi-gcc -o main main.c
將生成的main在zedboard上運行得到結果:
大概就這些,如果有覺得不詳細的地方可以留言 我再改。
Alan@HIT