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机发来的数据并通过串口打印出来,如下图所示。

 

 

posted @ 2013-06-04 20:46  lknlfy  阅读(990)  评论(16编辑  收藏  举报