zoukankan      html  css  js  c++  java
  • AM335x开发板与PC机虚拟机建立tftp文件传输

    1、AM335x开发板必须要支持以太网,而且在U-boot中要有完好的以太网驱动

    因为开发板的储存介质为SD卡,所以在编译好的U-boot中并没有配置网络环境,为了不使每次上电都修改u-boot的网络地址所以在U-boot的编译阶段中添加默认的环境变量:

    xxx/include/configs/am335x-evm.h

    在#define CONFIG_BOOTCOMMAND 下添加

            "if test $board_name = A335X_SK; then " 
                "setenv fdtfile am335x-evmsk.dtb; fi; " 
            "if test $fdtfile = undefined; then " 
                "echo WARNING: Could not determine device tree to use; fi; " 
            "init_console=" 
            "if test $board_name = A335_ICE; then "
                "setenv console ttyO3,115200n8;" 
            "else " 
                "setenv console ttyO0,115200n8;" 
            "fi;" 
            "ipaddr=192.168.200.127" 
            "serverip=192.168.200.123" 
            "netmask=255.255.255.0" 
            "gatewayip=192.168.200.255" 
                "RESET_LCD=" 
                  "ULCD reset" 
        NANDARGS 
        NETARGS 
        DFUARGS 
        BOOTENV
    #endif

    保存重新编译。

    2、配置PC机IP地址;配置笔记本的有线网络IPV4协议:

    确定退出。

    3、配置笔记本的虚拟机ip

    在虚拟机的Edit->Virtual Network Editor中查看如下:

    选择以太网卡82579,点击apply然后点击ok。

    然后虚拟机的

    VM->Setting->Hardware-Network Adapter-Custom:Specific virtual network下选择Vmnet2

    点击OK

    在虚拟系统ubuntu12.04下打开如图:

    点击添加网络:

    注音DNS服务,需要和PC机的一致,不一致能不能通过我也不清楚。目的ping通PC和虚拟机。保存退出

    参考博客:http://www.92to.com/bangong/2016/08-10/9374215.html

    4、虚拟机下建立建立tftp:

    安装步骤:

    1. 安装xinetd, tftp-hpa tftpd-hpa

    a.  sudo apt-get install xinetd

    b.  sudo apt-get install tftp-hpa tftpd-hpa

    2. 创建tftp的配置文件

    a.  vi /etc/xinetd.d/tftp(如图所示)

       b. 这里注意“user = ” 后面的用户名,很多帖子写的都是root用户,我之前也用过几次,并没有什么问题,可是这一次怎么也ping不到ubuntu系统,因此自己改成了当前的用户名,如果你也出现和我一样的问题,可以尝试一下

       c. 保存并退出

       3. 更改tftpd-hpa配置文件(所在目录:/etc/default/tftpd-hpa)

    a. sudo vi /etc/default/tftpd-hpa

    b. 修改内容如下

    # /etc/default/tftpd-hpa
    
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/home/zyr/Source_code/tftpboot"
    TFTP_ADDRESS="0.0.0.0:69"
    TFTP_OPTIONS="--secure"

    c. 其中/tftpboot是你,tftp服务的共享文件夹,路径可以自己定义,只要在对应的路径下建一个该文件夹即可

    d. 69表示tftp协议的端口号

    e. OPTIONS部分表示其操作权限,有些贴子也写成“--secure”

        4. sudo mkdir /tftfpboot -p

        5. 修改该文件夹的执行权限

        sudo chmod 777 /tftpboot

        6. 重启xinetd和tftp服务

    sudo /etc/init.d/tftpd-hpa restart

    sudo /etc/init.d/xinetd/ restart

    以上完成之后建议把PC机和虚拟机的防火墙都关掉(或许还要关闭360了什么东东)。

    参考博客:http://blog.csdn.net/canhaimingyue/article/details/52544772

    5、通过tftp下载uimage、xxxx.dtb

      U-Boot# tftp 0x82000000 uImage
      U-Boot# tftp 0x83000000 maria_am335x.dtb

      最后,启动内核既可:
      U-Boot# bootm 0x82000000 - 0x83000000

    U-Boot-zyr# tftp 0x82000000 uImage
    link up on port 0, speed 1000, full duplex
    Using cpsw device
    TFTP from server 192.168.200.123; our IP address is 192.168.200.127
    Filename 'uImage'.
    Load address: 0x82000000
    Loading: #################################################################
    #################################################################
    #################################################################
    #################################################################
    #################################
    2.9 MiB/s
    done
    Bytes transferred = 4287776 (416d20 hex)
    U-Boot-zyr# tftp 0x83000000 zyr-am335x-evmsk.dtb
    link up on port 0, speed 1000, full duplex
    Using cpsw device
    TFTP from server 192.168.200.123; our IP address is 192.168.200.127
    Filename 'zyr-am335x-evmsk.dtb'.

     参考博客:http://www.eefocus.com/marianna/blog/14-10/306147_55609.html

  • 相关阅读:
    webpack 项目接入Vite的通用方案介绍(上)
    AQS的原理及源码分析
    宝宝喂养
    Java日期时间操作基础——包含JDK1.8时间操作新特性
    ThreadLocal的正确使用与原理
    网络编程基础
    如何优雅正确地通过interrupt方法中断线程
    JavaWeb入门到实战学习笔记
    File与IO基础
    枚举基础
  • 原文地址:https://www.cnblogs.com/BigOBlue/p/7054125.html
Copyright © 2011-2022 走看看