• 嵌入式开发环境搭建:开发板tftp下载环境搭建


    (注:本文参考资料:朱有鹏嵌入式课程。本文为个人学习记录,如有错误,欢迎指正。)

    1. 设置网络

    设置开发板与虚拟主机Ubuntu的网络连接。

    (1)将开发板与Windows主机用网线相连;

    (2)开发板进入uboot命令行,设置开发板的IP地址和子网掩码,即环境变量ipaddr、netmask的值。注意确保开发板与虚拟主机Ubuntu处于同一网段。此处设为:

    netmask  =  255.255.255.0
    ipaddr  =  192.168.1.200

    (3)在虚拟主机Ubuntu设置选项中,将网络适配器配置为“桥接模式”;

    P.S.:VMware的网络模式:桥接模式、NAT模式、仅主机模式详解

            

    (4)进入VMware的“编辑”菜单,进入“虚拟网络编辑器”界面,将虚拟机桥接至有线网卡。因为开发板与虚拟主机Ubuntu是通过网线连接的,故它们之间的通信只能通过有线网卡进行。

                          

    (5)设置Ubuntu的静态IP地址。默认情况下,Ubuntu的IP地址动态分配的,但动态IP地址不便于tftp下载操作,故将其IP地址设置为静态IP地址。设置方法:vim  /etc/network/interfaces,填充以下内容。(若该路径下无该文件,则创建该文件)

     

    # interfaces(5) file used by ifup(8) and ifdown(8)
    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1

    填充后,保存该文件,重启网卡,即可生效。Ubuntu重新网卡命令如下(不同版本可能会有差异):

    ifdown    eth0        //关闭网卡0
    ifup    eth0            //开启网卡0
    Ubuntu下运行“ifconfig”命令,确认IP地址是否设置正确。
    (6)在开发板uboot命令下,执行ping命令,确认开发板与Ubuntu是否成功建立网络连接。
     

    P.S.:若设置无误,但ping失败,可尝试关闭Ubuntu和Windows下的防火墙。

    2. 搭建tftp服务器

    在虚拟主机Ubuntu下,搭建tftp服务器。

    (1)安装tftp所需软件,tftp-hpa、tftpd-hpa、xinetd。在Ubuntu终端在运行如下命令进行安装:

    sudo apt-get install tftp-hpa tftpd-hpa

    sudo apt-get install xinetd

    (2)配置/etc/xinetd.conf

    若该路径下没有xinetd.conf文件,则创建。在该文件中填充如下内容:

    # Simple configuration file for xinetd
    #
    # Some defaults, and include /etc/xinetd.d/
    defaults
    {
    # Please note that you need a log_type line to be able to use log_on_success
    # and log_on_failure. The default is the following :
    # log_type = SYSLOG daemon info
    }
    includedir /etc/xinetd.d

    (3)配置/etc/default/tftpd-hpa

    在该文件中填充如下内容:

    # /etc/default/tftpd-hpa

    TFTP_USERNAME="tftp"

    TFTP_DIRECTORY="/tftpboot"        #tftp服务器在路径,可以根据需要修改

    TFTP_ADDRESS="0.0.0.0:69" 
    TFTP_OPTIONS="-l -c -s"

    (4)配置/etc/xinetd.d/tftp

    若该路径下没有tftp文件,则创建。在该文件中填充如下内容:

    service tftp
    {
      socket_type = dgram
      wait = yes
      disable = no
      user = root
      protocol = udp
      server = /usr/sbin/in.tftpd
      server_args = -s /tftpboot      #配置服务器的文件的存放位置
      #log_on_success += PID HOST DURATION
      #log_on_failure += HOST
      per_source = 11
      cps =100 2
      flags =IPv4
    }

    (5)修改文件夹权限

    修改存放服务器文件的文件夹的权限,一般设置为最宽松的权限。运行如下命令:

    sudo mkdir /tftpboot            //创建tftpboot文件夹,用于存放服务器文件

    sudo chmod 777 /tftpboot   //修改文件夹权限

    (6)重启服务

    重新启动服务,上述配置即可生效。运行如下命令:

    sudo service tftpd-hpa restart
    sudo /etc/init.d/xinetd reload
    sudo /etc/init.d/xinetd restart

    3. 测试

    (1)本地测试

    在Ubuntu本地环境下,测试tftp服务器能否工作。

      1)在/tftpboot目录下创建一个file.c文件;

      2)在另外的目录下,在Ubuntu终端下运行“ sudo tftp localhost”命令,进入到tftp命令符下;

      3)在tftp命令符下,运行命令“get  file.c”,若无错误提示,则成功从tftp服务器获取file.c文件;

      4)在tftp命令符下,运行命令“put  file”,即可将该文件上传至tftp服务器中。

    (2)下载测试

    在开发板的uboot终端下,从Ubuntu的tftp服务器获取内核镜像。

    1)在uboot终端,运行tftpboot命令,从tftp服务器下载内核镜像。
    tftpboot命令格式:tftpboot 30008000 192.168.1.100:zImage。不同版本其命令格式可能会有差异,可以通过help命令查看。

    tftpboot 30008000 192.168.1.100:zImage   //从tftp服务器下载zImage到DDR中的0x30008000地址处

    2)运行“bootm  30008000”,即可成功启动内核。

  • 相关阅读:
    EF4.3 到底能不能用?
    系统架构师(详解+转)
    silverlight MD5加密
    silverlight自定义安装客户端插件
    vs2010中文安装英文版silverlight5,和MVC 3
    如何自定义gridview的表格显示?
    Scott Mitchell的ASP.NET2.0数据指南中文版索引
    成功软件开发者的9种编程习惯(一)
    第8章 商品目录管理
    6/29 项目目录结构有所调整
  • 原文地址:https://www.cnblogs.com/linfeng-learning/p/9284402.html
Copyright © 2020-2023  润新知