zoukankan      html  css  js  c++  java
  • 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机发来的数据并通过串口打印出来,如下图所示。

  • 相关阅读:
    PHP面向对象练习
    PHP面向对象的特点
    PHP的构造函数和析构函数
    PHP面向对象
    AVL-TREE
    ReentrantLock
    treap-名次树-树堆
    细数那些我们熟悉的 排序!
    数据结构 - trie
    python 凸包(经纬度) + 面积[近似]
  • 原文地址:https://www.cnblogs.com/lknlfy/p/3117826.html
Copyright © 2011-2022 走看看