背景

使用 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. sqli-labs-master 导入导出 + 第七关

    1.load_file()导出文件 load_file(file_name):读取文件并返回该文件内容作为一个字符串. 使用条件: A:必须有权限读取并且文件完全可读 B:预读取文件必修在服务器上 C ...

  2. 如何加速C++文件的编译速度?

    一.为什么慢? 重要的一个原因是C++的基本 头文件-源文件的编译模型: 每个源文件为一个编译单元 头文件数量多,可能会包含上百甚至上千个头文件 存在重复解析,每个编译单元中,这些头文件都要从硬盘里读 ...

  3. 服务器root密码忘记,使用centos7 紧急模式修改root密码

    一.实战场景 公司一台centos7服务器root密码忘记了,需要你修改root密码,找回root身份. 二.进入紧急模式修改root密码 首先重启服务器,看到这界面时选择第一项,按下e键进行编辑 2 ...

  4. Windows系统命令行的最佳实践

    更多博文请关注:https://blog.bigcoder.cn 每次看到Mac生态中炫酷的命令行工具,我就一脸羡慕,但是奈何财力不足,整不起动辄上万的电脑,搬砖人就只能折腾折腾手里的这台window ...

  5. Anaconda 虚拟环境

    1. 查看虚拟环境 conda env list 2. 创建虚拟环境 conda create -n env_name python=3.8 --- env_name: 虚拟环境名 --- pytho ...

  6. vue-i18n 初体验

    vue-i18n 初体验 使用vue,如何国际化呢?采用 vue-i18n.(i18n,internationalization,i和n中间省略18个字符) vue-i18n 官网地址 https:/ ...

  7. MindSponge分子动力学模拟——多路径分子模拟(2024.05)

    技术背景 在前面的MindSponge教程系列博客中,我们已经介绍过MindSponge分子动力学模拟框架的基础功能使用方法,例如MindSponge的安装与使用.定义分子系统.计算单点能和迭代器等等 ...

  8. 【分享】FFmpeg桌面神器,集多种功能于一身,超级好用,不用命令行!

    在媒体处理上,市面上有很多软件可以选择,在众多软件里面 FFmpeg 是比较独特的一款,直接选择 FFmpeg 硬核命令行工具的朋友相对较少,大多时候只是被集成在各样的软件里,如果单独拿出来使用,不少 ...

  9. wpf 双屏显示问题

    // 在WPF中处理双屏显示问题,通常需要确保应用程序能够识别两个显示器,并在每个显示器上正确渲染内容.以下是一个简化的示例,展示如何在WPF应用程序中设置窗口,使其跨越两个显示器:   using ...

  10. FFMPEG 信息查询

    一.问题描述 最近测试反馈一个隐私模式的问题,主播端启用隐私模式之后,在观看端发现画面转菊花并且还有回跳的现象 二.问题分析: 从网上下载了直播的视频文件,进行了一下分析,发现视频长度和音频长度不匹配 ...