在调试V4L2过程中需要用网络传输文件,将添加网络功能的过程记录在此。这里以ZYNQ为例。

首先需要在VIVADO中勾选以太网如下,

注意这里不要忘记勾选MDIO,需要通过这个接口与PHY芯片进行通信。

完成了硬件搭建并生成了BIT文件之后,用XILINX SDK生成设备树文件。打开SDK后点击,Xilinx -> Repositories后如下,

将XILINX提供的设备树包路径添加到上面,然后点击OK。完成后点击File -> New -> Board Support Package如下,

选中device tree,点击Finish。

生成完设备树文件后,我们重点关注下pcw.dtsi中gem0如下,

&gem0 {phy-mode = "rgmii-id";status = "okay";xlnx,ptp-enet-clock = <0x69f6bcb>;
};

phy-mode指定了SOC和PHY进行数据交互的接口;status变为了okay,因为我们在VIVADO中激活了网口;xlnx,ptp-enet-clock作用未知,不用管它,不影响使用。

除此之外,我们还需要在system-top.dts中添加如下内容,

&gem0 {phy-handle = <&phy0>;local-mac-address = [00 0a 35 00 1e 53];phy0:phy@1 {device_type = "ethernet-phy";reg = <0x1>;};};

local-mac-address是MAC地址;phy-handle是指定与其连接的PHY芯片的设备节点,这个节点就是它的子节点phy0,该节点中device_type用来指定设备类型,固定为"ethernet-phy";reg用来给出PHY芯片的地址,我用的PHY是RTL8211E,其地址为0x1,不同的PHY芯片地址可能不同。这里可能会有一个疑问,在PHY节点中并没有compatible属性,用来指定与其对应的驱动代码,我猜测,可能通过MDIO接口读取PHY芯片中的寄存器就可以知道其型号和厂家,并调用不同的PHY驱动代码。

完成设备树的编辑后,在内核代码中的xilinx_zynq_defconfig中查看相应的PHY是否勾选上,比如我用的REALTEK公司的PHY,就需要确保如下配置被勾选,

CONFIG_REALTEK_PHY=y

完成后,进行编译,然后运行,可以在开机的打印信息中看到如下内容,

macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 28 (00:0a:35:00:1e:53)
RTL8211E Gigabit Ethernet e000b000.ethernet-ffffffff:01: attached PHY driver [RTL8211E Gigabit Ethernet] 

说明内核通过MDIO接口读出了芯片型号。

开机后可以通过ifconfig配置网络如下,

ifconfig eth0 192.168.10.5 netmask 255.255.255.0

然后用ifconfig -a查看是否配置成功,并可以通过ping看看和电脑是否能通,这里可能需要先关闭防火墙再ping。

接下来用tftp传输文件,打开tftp64,将current direcrory路径改为与ZYNQ进行通信的目录,也就是说,要发送给ZYNQ的文件需要拷贝到这里,从ZYNQ接收的文件也会存在这里。如果想把文件传给ZYNQ,就在终端输入如下内容,

tftp -g -l b.txt -r a.txt 192.168.10.7

上面的意思是将电脑端的a.txt传给ZYNQ并命名为b.txt,后面跟的是电脑端ip地址。如果想上传文件给电脑端,就在终端输入如下内容,

tftp -p -r b.txt -l a.txt 192.168.10.7

上面的意思是将ZYNQ端的a.txt传给电脑端并命名为b.txt。

为嵌入式linux添加网络功能并用tftp传输文件(以ZYNQ为例)相关推荐

  1. 嵌入式linux与windows之间的tftp文件传输(保姆级)

    目录 前言 一.为什么要文件传输 二.利用共享文件夹(简要流程) 三.tftp传输与环境搭建 四.传输前的准备工作 五.测试准备工作是否完成 六.传输文件 6.1.windows中tftp32的配置 ...

  2. 微型linux系统测试网卡,自制一个小型Linux(附带网络功能)

    我们这次讲述一下Linux启动的启动流程以及制作一个附带网络功能的mini linux 一.叙述 在制作一个小型的Linux之前,首先你得明白Linux系统的启动过程,我们用一张图来进行说明 二.为什 ...

  3. 嵌入式linux软件专利,一种嵌入式Linux操作系统网络加速运行的系统及方专利_专利查询 - 天眼查...

    1.一种嵌入式Linux操作系统网络加速运行的系统,其特征在于,主要包括以下单元:应用程序单元.Lwip函数库单元.系统接口单元.Linux系统单元.底层硬件接口单元.硬件平台单元.物理硬件网络设备单 ...

  4. ssh连接Linux很慢,且ssh传输文件很慢的解决方案

    ssh连接Linux很慢,且ssh传输文件很慢的解决方案 网上关于该问题的常用解决方法是(主要就是修改配置文件/etc/ssh/sshd_config): (1)修改"UseDNS" ...

  5. Android网络编程只局域网传输文件

    Android网络编程只局域网传输文件 首先创建一个socket管理类,该类是传输文件的核心类,主要用来发送文件和接收文件 具体代码如下: ```java1 package com.jiao.file ...

  6. linux常用的scp命令远程服务传输文件使用例子

    场景: 在使用Linux操作系统的过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是secure copy的简写,用来在L ...

  7. 【嵌入式Linux开发学习】基于TFTP的通用代码烧写方式

    文章目录 概述 实现思路 升级UBOOT 升级KERNEL ROOTFS QEMU 仿真 代码实现 升级效果 概述 对于从事嵌入式行业的人来说,进行代码升级一定不会陌生.相对于单片机相对单一的烧写方式 ...

  8. 嵌入式linux 添加中断,《嵌入式linux应用程序开发完全手册》中断控制器操作(外部中断)学习笔记...

    <嵌入式linux应用程序开发完全手册>中断控制器操作(外部中断)学习笔记 一.ARM中断体系 当一个"异常"发生时,或者说当收到一个中断触发信号时,ARM9将会自动完 ...

  9. 嵌入式Linux添加ssh服务

    嵌入式Linux安装Dropbear 开发环境 嵌入式Linux平台: ARM 7 (IMX6ULL) 嵌入式Linux内核版本:4.1.15 宿主系统: Ubuntu 16.04 LTS SSH程序 ...

最新文章

  1. 硕士毕业两年算法工程师年终总结
  2. HTTP状态码和编程
  3. 尝试使用阿里云服务器
  4. log4net 小记
  5. CocoaPods打包静态库
  6. datax 定时执行多个job_DataX在有赞大数据平台的实践
  7. linux 将当前时间往后调整2分钟_【转】修改LINUX时间
  8. PHP中的错误处理set_error_handler()与trigger_error()的问题
  9. Ubuntu16.04 设置自启动脚本,系统重启自动执行自定义脚本任务
  10. 以WIN10 22H2为例,下载ISO、制作安装U盘的办法
  11. 移动增值短信平台实施计划方案(报业集团短信手机报)
  12. java计算机毕业设计基于安卓Android的团务智慧管理APP(源码+系统+mysql数据库+Lw文档)
  13. Tomcat——通过.bat批处理程序重启Tomcat
  14. usb3.0速度测试软件,Win10系统如何测试usb3.0设备传输速度|Win10测试usb3.0设备传输速度的方法...
  15. 【Java入门练习100例】03.短路与和逻辑与的区别——老实人和机灵鬼
  16. 冬季茄子怎么吃营养价值翻倍
  17. SRC漏洞挖掘--CNVD国家信息安全漏洞共享平台
  18. 获取当前系统日期和时间
  19. 将域名直接映射到网站首页(通过域名即可访问网站首页)
  20. 练习题之金融应用:比较不同利率下的贷款

热门文章

  1. netsh命令恢复网络_Netsh命令-修改网络IP设置
  2. Node.js 新手入门
  3. python是一门面向过程的语言_python是面向对象还是面向过程?
  4. 使用 FPGA 开发板采用 Verilog 编程练习基于 VGA 图像显示
  5. 密码学系列——MD5算法理解记录
  6. 直播连麦、智能音箱、一键求救……实时互动技术应用全面爆发!
  7. 何时选择自动化测试?软件检测机构怎么选?
  8. 【C语言练习——调整数组内奇数偶数的顺序】
  9. 618必买清单,几款实用的数码好物分享
  10. 【OpenAirInterface知识-3】OAI端到端部署之5G基站部署