Barebox for Tiny6410(網卡驅動移植)


一、目的

      為Barebox移植基於Tiny6410的網卡(DM9000)驅動,並編寫相關的網絡收發命令進行測試。

 

二、主要內容

1.1 Barebox已經實現了通用的DM9000網卡驅動,因此只要在板文件里修改數據和命令的基地址參數即可。

1.2 編寫netinfo命令查看網絡信息,如本機IP地址和MAC地址等。

1.3 Barebox自帶ping命令,但目標板只能ping主機,主機不能ping目標板。因此編寫一個recping命令,實現主機也能ping目標板。

1.4 編寫基於UDP協議的發送命令udp_send,實現目標板通過網口發送數據給主機。

1.5 編寫基於UDP協議的接收命令udp_rec,實現主機通過網口發送數據給目標板。

1.6 在主機端編寫基於Qt的測試程序,用來發送數據給目標板和接收來目標板的數據。

 

三、開發環境

主機:WIN7 32位旗艦版

虛擬機:VMware Workstation 7.0

Linux:Ubuntu 12.04

編譯器:arm-linux-gcc-4.5.1-v6-vfp-20101103

開發板:Tiny6410(256M Nand Flash,128M DDR

 

四、步驟

41 下載BareBox最新版本

http://www.barebox.org/download/

我下載的是barebox-2013.05.0.tar.bz2這個版本。

 

42 Barebox打補丁

把barebox-1.5.1.patch文件放到和barebox-2013.05.0.tar.bz2文件的同一個目錄下。

 

解壓barebox-2013.05.0.tar.bz2

tar jxf barebox-2013.05.0.tar.bz2

 

進入barebox源碼根目錄

cd barebox-2013.05.0

 

打補丁

patch -p1 < ../barebox-1.5.1.patch

 

43 使用已經配置好的文件

cp tiny6410_defconfig .config

 

4.4 編譯

      執行make,即可在源碼根目錄下生成barebox.bin文件,將它燒寫到開發板的Nand Flash中,然后從Nand Flash啟動。

 

45 測試

     Barebox啟動后,通過netinfo命令可以查看當前的網絡信息,如下圖所示。

      可以看到IP地址、子網掩碼和MAC地址都為0,因此使用命令eth0.ipaddr=192.168.0.11設置IP地址,使用eth0.netmask=255.255.255.0設置子網掩碼。然后ping主機,返回信息host 192.168.0.100 is alive表示ping通了主機,再通過netinfo查看網絡信息,如下圖所示。

     

      先運行recping命令,再由主機來ping目標板,返回下圖紅色框中的信息表示主機能ping通目標板。先運行Qt寫的測試程序,再運行udp_send 192.168.0.100 helloPC命令,可以看到udp軟件上顯示出helloPC。

        

      運行udp_rec命令,然后在udp軟件中輸入1234567890,再點“Send”按鈕,可以看到目標板收到了PC機發來的數據並通過串口打印出來,如下圖所示。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM