背景

使用 Vivado配置好网络,并在PetaLinux中构建了完整的uboot、kernel、rootfs以后,发现网络有问题。

> ping 192.168.168.1
ethernet@e000b000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
ping failed; host 192.168.168.1 is not alive
Zynq> ping 192.168.168.1
Using ethernet@e000b000 device
ARP Retry count exceeded; starting again
ping failed; host 192.168.168.1 is not alive

一直ping不通,检查了一遍以后发现配置很正常。

pri打印了一下环境变量以后发现问题。

ipaddr=192.168.168.168
...
serverip=192.168.168.1

细心的读者肯定也发现哪里不对劲了。

是的,缺少了gateway(网关)。

Zynq> set gateway 255.255.255.0
Zynq> ping 192.168.168.1
Using ethernet@e000b000 device
host 192.168.168.1 is alive

附录:常见调试命令

ZYNQ(QSPI 不保存 env)

从网络加载image.ub(内含内核、设备树、文件系统,但无法修改)

set serverip 192.168.168.1; set ipaddr 192.168.168.16; set gateway 192.168.168.1; set bootargs 'root=/dev/nfs nfsroot=192.168.168.106:/home/schips/nfs/rootfs_16c,tcp rw ip=192.168.168.16:192.168.168.211:192.168.168.1:255.255.255.0 ::eth0:on consloe=ttyAMA0,115200'; tftpboot 10000 image.ub_ext4_16c_todo;bootm 10000

从网络加载内核、设备树、文件系统

set serverip 192.168.168.1; set ipaddr 192.168.168.16; set gateway 192.168.168.1; set bootargs 'root=/dev/nfs nfsroot=192.168.168.106:/home/schips/nfs/rootfs_16c_ext4,tcp rw ip=192.168.168.16:192.168.168.211:192.168.168.1:255.255.255.0 ::eth0:on consloe=ttyAMA0,115200'; tftpboot 8000 zImage; tftpboot 103cdd00 system.dtb; bootz 8000 - 103cdd00

从emmc加载内核、设备树、文件系统

set bootargs 'root=/dev/mmcblk1p2  rootfstype=ext4 rootwait rw' ; mmc dev 1; fatload mmc 1 8000 zImage ; fatload mmc 1 103cdd00 system.dtb ; bootz 8000 - 103cdd00

从sd卡启动系统

set bootargs 'root=/dev/mmcblk0p2  rootfstype=ext4 rootwait rw' ; mmc dev 0; fatload mmc 0 8000 zImage ; fatload mmc 0 103cdd00 system.dtb ; bootz 8000 - 103cdd00
fatload mmc 0 8000 emmc/BOOT.bin ; sf probe ; sf erase 0x0 0x800000 ; sf write 0x8000 0x0 0x800000 ;set bootargs 'root=/dev/mmcblk0p2  rootfstype=ext4 rootwait rw' ; mmc dev 0; fatload mmc 0 8000 zImage ; fatload mmc 0 103cdd00 system.dtb ; bootz 8000 - 103cdd00

其他

## 网络调试 + 本地文件系统
### 一次性命令
tftpboot 8000 zImage.intr; tftpboot 103cdda8 system.dtb.intr; set bootargs 'root=/dev/mmcblk1p2 rw rootwait consloe=ttyAMA0,115200'; bootz 8000 - 103cdda8 ### 每次启动都可以
set debugboot "tftpboot 8000 zImage.intr; tftpboot 103cdda8 system.dtb.intr; set bootargs 'root=/dev/mmcblk1p2 rw rootwait consloe=ttyAMA0,115200'; bootz 8000 - 103cdda8" ; set bootcmd "run debugboot" ;saveenv ; reset #################命令片段################### # 下载内核,设备树, 以 xx 文件系统 启动
tftpboot 8000 zImage; tftpboot 103cdda8 system.dtb; set 'xxx'; bootz 8000 - 103cdda8 # 下载内核+设备树,文件系统由image.ub 指定
tftpboot ${netstart} image.ub; bootm ${netstart} # 从EMMC读取文件,启动
fatload mmc 0 ${netstart} image.ub; bootm ${netstart}
fatload mmc 0 8000 zImage;fatload mmc 0 103cdda8 system.dtb; set 'xxx'; bootz 8000 - 103cdda8 uio_pdrv_genirq.of_id="generic-uio" # 指定文件系统路径
## nfs
set bootargs 'root=/dev/nfs nfsroot=192.168.168.106:/home/schips/nfs/rootfs,tcp rw ip=192.168.168.168:192.168.168.211:192.168.168.1:255.255.255.0 ::eth0:on consloe=ttyAMA0,115200';
## 0 for sd-card
set bootargs 'root=/dev/mmcblk0p2 rw rootwait consloe=ttyAMA0,115200';
## 1 for emmc
set bootargs 'root=/dev/mmcblk1p2 rw rootwait consloe=ttyAMA0,115200'; set serverip 192.168.168.16; set ipaddr 192.168.168.168; set gateway 192.168.168.1; ## 带UIO,NFS,TFTP
set bootargs 'root=/dev/nfs nfsroot=192.168.168.106:/home/schips/nfs/rootfs,tcp rw ip=192.168.168.168:192.168.168.211:192.168.168.1:255.255.255.0 ::eth0:on consloe=ttyAMA0,115200 uio_pdrv_genirq.of_id="generic-uio"'; set bootargs 'root=/dev/nfs nfsroot=192.168.168.106:/home/schips/nfs/rootfs,tcp rw ip=192.168.168.168:192.168.168.211:192.168.168.1:255.255.255.0 ::eth0:on consloe=ttyAMA0,115200'; sete nb "tftpboot 8000 zImage; tftpboot 103cdda8 system.dtb; bootz 8000 - 103cdda8"; sete bootcmd "run nb" savee run nb

ZYNQ uboot 网络调试的更多相关文章

  1. 利用ZYNQ SOC快速打开算法验证通路(2)——数据传输最简方案:网络调试助手+W5500协议栈芯片

    在上一篇该系列博文中讲解了MATLAB待处理数据写入.bin二进制数据文件的过程,接下来需要将数据通过以太网发送到ZYNQ验证平台.之前了解过Xilinx公司面向DSP开发的System Genera ...

  2. 下载uboot的调试版本到开发板的sdram中运行

    开发环境:开发板:FriendlyARM Tiny6410 主机:CentOS release 6.4 (Final) 开发板与主机通过串口线连接 调试用的uboot源码为开发板光盘提供的u-boot ...

  3. Putty以及adb网络调试

    1.什么是SSH? SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议. 传 ...

  4. tiny210 u-boot 网络ping不通主机解决方案

    站在巨人的肩膀上: http://blog.csdn.net/liukun321/article/details/7438880 http://www.arm9home.net/read.php?ti ...

  5. [Android] [putty连接Android设备] [Android设备网络调试]

    file: system/core/adb/adb.c line: 921 /* for the device, start the usb transport if the ** android u ...

  6. 网络调试 adb connect

    $su #stop adbd #setprop service.adb.tcp.port 5555 #start adbd 然后在电脑端打开cmd,输入adb命令: #adb connect < ...

  7. adb无线网络调试

    1.如果已经可以用usb连接adb,那么可以通过以下命令切换到无线连接方式. adb tcpip 5555 adb connect 192.168.0.101:5555      通过下面的命令可以切 ...

  8. Qt编写网络调试助手(TCP客户端+TCP服务端+UDP服务端)终极版开源

    时隔半年,对网络调试助手工具进行所有代码重写,这次目录结果整齐的一逼,代码整齐的一逼,非常完善了,打死也不再改版了.这次真的打死也不再改版了.旧版本1:http://www.qtcn.org/bbs/ ...

  9. 【转】Android开启网络调试的方法

    方法是偶然看到的: Android 终端adbd服务需要开启5555号端口来建立于adb的连接,如果未开启5555端口,则不能通过网络调试 查看是否可以网络调试: # netstat Android ...

  10. 网络调试助手的使用 调试TCP,UDP

    网络调试助手是集TCP/UDP服务端客户端一体的网络调试工具,可以帮助网络应用设计.开发.测试人员检查所开发的网络应用软硬件的数据收发状况,提高开发的速度,是TCP/UDP应用开发助手. 集成TCP/ ...

随机推荐

  1. Jenkins+Harbor+gogs+docker+portainer+springboot实现devOps(企业实战)

    本篇主要讲述springboot以及vue前后端分离项目,使用Jenkins拉取gogs代码仓库源码,构建Docker镜像并推送至Harbor仓库,使用docker 可视化部署工具[portainer ...

  2. 《深度学习原理与Pytorch实战》(第二版)

    第1章 深度学习简介 深度学习--利用深度人工神经网络来进行自动分类.预测和学习的技术,深度学习=深度人工神经网络 超过三层的神经网络都可以叫做深度神经网络 人工神经网络的关键算法--反向传播算法 深 ...

  3. JAVA也能用上Seq啦

    前言 在.NET生态中,Serilog凭借其强大的结构化日志记录功能和与Seq的无缝集成,已经成为许多开发者的首选日志记录工具.Seq作为一个日志检索和仪表板工具,能够将日志中的插值转换为结构化数据, ...

  4. 用Java 实现一个异步任务 可终止,可中断,可继续功能

    在 Java 中实现一个异步任务可以使用多线程和线程池技术,同时需要考虑终止.中断和继续等功能.下面展示一个简单的示例代码,实现异步任务的终止.中断和继续等功能: import java.util.c ...

  5. ABP-VNext 用户权限管理系统实战06---实体的创建标准及迁移

    在apb-vnext的实体的创建中可以确实字段的长度.说明.对应的表.表中给字段加的索引 以项目中的订单表为例,如下: [Comment("订单主表")] [Table(" ...

  6. ansible使用详解

    ansible执行,用户主机配置 免密同一个同一个用户执行命令 1 能免密登录的[root@mcw1 ~]$ ansible 10.0.0.132 -m shell -a "hostname ...

  7. webapi添加添加websocket中间件

    添加位置 我按照MSDN的例子添加了一个复述客户端响应的中间件.需要注意的时,中间件采用那种方式添加,添加在哪. 哪种方式 我选择创建一条管道分支,只要时ws的连接请求,就转到这个分支 因此,我们需要 ...

  8. WordPress网站被黑怎么办?【含解决方案】

    在我们的日常WordPress主题售后工作中,经常会有用户反馈网站出现问题,例如:阿里云提示后门木马文件:打开后跳转到其他地址:页面出现乱码:被添加了其他内容等,根据我们的经验,这种一般都是网站被黑导 ...

  9. 详解 XSS 攻击原理

    更多优质博文请关注:听到微笑的博客 跨站脚本攻击(Cross Site Scripting)本来的缩写为CSS,为了与层叠样式表(Cascading Style Sheets,CSS)的缩写进行区分, ...

  10. 安装numpy:conda install nampy==1.16 时报错An HTTP error occurred when trying to retrieve this URL.

    安装numpy:conda install nampy==1.16 时报错An HTTP error occurred when trying to retrieve this URL. HTTP e ...