菜鳥搭建zynq linux開發平臺

本人機械出生,畢業後先做了兩年FPGA,然後做IC開發,所以對linux一竅不通。無奈來了一家小公司,所有的環境都要自己搭,這裏將自己的坑全部獻上,希望能提供一些借鑑
第一步: 安裝虛擬機
        1、注意事項
             linux的版本 ubuntu 14.04--16.04,32bit-64bit 等很多個版本需要事先確定
        2、系統需要安裝的必要軟件
         此處我藉助的zynq平臺時深圳米爾科技提供的7z015開發板,技術支持不錯,但是資料寫得很爛,挖了很多坑。
         首先我用VMstation 安裝的的ubuntu 16.04 32bit的linux系統。
         坑1:我window用的時64bit的系統,因此我一直安裝的都是64bit的linux,後來發現gcc 一直用不了,請教了公司大神,原來開發板廠商提供的就是32bit的工具(xilinx也有提供,但是我沒有去找64bit的版本),因此gcc一直用不起來,後來換了32bit纔好用
         坑2: linux用的14.04到14.10,裝軟件時,sudo apt-get update 更新一直出錯,換了好多sources.list的源 一直都不行
         解決方案: 如果用14.10 找清華的源可以(測試可用)。另外不用盲目用網上的源,這些源大多都已經過期,親們可以自己把鏈接打開看看,如果鏈接能正常打開,這個源纔有用,不然update 肯定報錯
         坑3:很長一段時間,本機的文件無法傳給虛擬機,虛擬機和本地window之間文件共享不成功
         解決之道:以VMstation 爲例子。安裝好vmtools後,然後設置共享目錄即可。
                            步驟:在VM的window安裝目錄下一般會有vmtools的linux安裝源文件一般是iso後綴的文件。
                                       在VMstation工具中,點擊虛擬機----安裝VMware Tools,則iso文件會被自動加載到linux的光驅中。再到linux系統中,從桌面系統中,找到光驅,然後找到裏面的文件,將光驅內所有文件複製到自己的某個文件夾內,通過運行./vmware-install.pl就可以安裝了。
       3、VMtools 安裝好後,設置window共享文件。linux虛擬機就可以訪問這個文件夾了。
             坑4:很多linux的文件不要在window內解壓,也不要在window和linux共享的文件夾內解壓,因爲這個文件夾本質上屬於window,解壓後會報錯說無法建立超鏈接,但是如果把這些鏡像文件或者壓縮文件拷linux虛擬機的文件系統內解壓,則一切正常。
第二: 搭建虛擬機(linux)------windows-------開發板的文件共享系統
          1、在虛擬機上安裝nfs服務器。rpm -ivh nfs-utils-1.0.1-2.9.i386.rpm portmap-4.0-54.i386.rpm 相當於把虛擬機的linux作爲服務器使用(或者sudo apt-get install nfs-kernel-server  這個命令會安裝兩個軟件包nfs-common和portmap。設置虛擬機上的共享目錄。vim /etc/exports  這裏需要在這個文件後面添加需要共享的目錄(如:“/home/work *(rw,sync,no_root_squash,no_subtree_check)”雙引號以內的東西,雙引號不算。* 號表示時任意ip,也可以是192.168.1.* 等 表示IP時192.168.1.任意數。 這裏記住*後面直接接括號,沒有空格),後用 exportfs  -rv命令使得設置的共享目錄生效。然後命令一、sudo service portmap restart  命令二、sudo service nfs-kernel-server restart。 順序不反就可以了。 
          2、設置網絡橋接模式。在VMware station設置爲橋接模式而不是NAT模式。橋接模式,意味着linux虛擬機在局域網中和window主機時地位等價的,有自己的IP。而NAT模式意味着,linux虛擬機的網絡訪問要依賴windows。而我們的目的時開發板和linux虛擬機能通過局域網路由器正常訪問,並且處於同一局域網IP域內。因此我們必須設置爲橋接模式。
         3、啓動開發板。
           鏈接開發板的網口到局域網內。開發板上電後,linux正常起來。root登陸後。通過ifconfig 看一下網絡狀況和IP地址。一般而言,eth0未啓動。我們這裏用ifconfig eth0 up 先啓動eth0,然後用udhcpc命令自動獲取開發板的ip。再通過ifconfig eth0 看開發板在局域網內的IP。
          4、獲取window linux虛擬機和開發板的IP地址,相互ping通。如果通過後。
          5、掛載linux虛擬機的文件夾。
              在開發板的終端輸入: mount -o nolock,rw -t nfs 192.168.2.119:/home/work    /mnt/nfs
               一定要記住  加上 -o nolock
             另外,命令中的ip地址是虛擬機的地址,文件夾時虛擬機服務器用來共享的文件夾。 /mnt/nfs 是開發板用來掛載共享文件夾的地址。以後這兩個文件夾就可以同步了。在虛擬機編譯好的文件可以放到這個文件夾下,直接運行。
第三步: 安裝gcc工具
          一般廠商都提供了gcc工具,我們需要做的時制定PATH 告訴linux ,GCC在哪裏就好
             export PATH=$PATH:<WORKDIR>/Toolchain/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin
用這個命令,將gcc工具的路徑添加到PATH裏面,然後就可以用gcc編譯了。通過上面幾步,樓主的helloword時可以正常跑的,
  

      


          
    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章