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 ...
随机推荐
- RSA非对称算法(转)
RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它.但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解.我们经 ...
- javascript中的原型和闭包
定义 //闭包测试 function bbTest() { var local = "这里是本地变量"; //闭包会扩大局部变量的作用域,具备变量一致会存活到函数之外,在函数之外可 ...
- SQL Server 的事务和锁(一)
最近在项目中进行压力测试遇到了数据库的死锁问题,简言之,如下的代码在 SERIALIZABLE 隔离级别造成了死锁: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 SELECT @ ...
- 1.6.5 Updating Parts of Documents
1. Updating Parts of Documents 有时候你想要直接改变solr文档中的部分内容,solr有两种合适的方法来改变. 第一种:自动更新,这个方法允许仅仅改变文档的一个或者几个字 ...
- Gradle实战:不同编译类型的包同设备共存
查看原文:http://blog.csdn.net/u010818425/article/details/52335844 Gradle实战系列文章: <Gradle基本知识点与常用配置> ...
- 《算法导论》习题解答 Chapter 22.1-4(去除重边)
思路:重开一个新图,按着邻接列表的顺序从上到下遍历,每遍历一行链表前,清空visited数组,如果没有访问过这个元素,则加入新图,如果已经访问过了(重边),则不动. 伪代码: 复杂度:O(V+E) f ...
- VS2013 支持python和nodejs
一.在VS2013中,安装python的支持 1. http://pytools.codeplex.com/下载插件 2. https://www.python.org/download/下载Pyth ...
- http错误码大全
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行.响应码分五种类型,由它们的第一位数字表示:1.1xx:信息,请求收到,继续处理2.2xx:成功,行为被成功地接受.理解和采纳3 ...
- [转]position:relative leaves an empty space
本文转自:http://stackoverflow.com/questions/5229081/positionrelative-leaves-an-empty-space 在使用relative进行 ...
- POJ 1797 Heavy Transportation (最短路)
Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 22440 Accepted: ...