完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前一篇总结已经看到了以太网的测试,索性就把网络和软核调试完成,当然了还是参考文档《7A50T_lwIP_EthernetLite_VIV2014_4.pdf》,有的可能只是翻译过来,o(*≧▽≦)ツ,不过别人写的毕竟是别人的,还是要自己亲自操作一遍并且转化为自己的才是真的。 文档上也写了完成本例子,可以学到 1. 构建一个能运行以太网网络应用的软核硬件平台 2. 构建一个SDK工程 3. 创建一个包含Iwip协议栈并支持web服务器文件系统的BSP(板级支持包) 4. 添加一个IwIP软件应用的例子 5. 测试一些网络应用(http,tftp等等) The applications listed below are provided as software examples for lwIP raw API implementation to demonstrate the performance and utility of the Ethernet link. The RxTest and TxTest applications communicate with a publicly available Internet Performance monitor application (IPerf). A windows executable for this application is included with this reference design. 如下提供所有例子主要是利用IwIP API来演示一个以太网链路的性能和利用率的软件,RxTest和TxTest是用了一很大众化的互联网性能监控的软件iperf来通信的。这个可执行文件已经包含在这个参考设计里面了。 相信大家在前一篇的总计中已经看得到了,我用iperf进行了网络吞吐量的测试。ㄟ(⊙ω⊙ㄟ)哈~~~ 1. Echo server---就是在网络上回显发送到以太网上的数据,其实就是用telnet 192.168.8.103 7 来。一般win7电脑的telnet client都是关闭的,大家可以在控制面板--程序和功能--打开或关闭Windows功能--telnet客户端--勾选--确定 Server Port Connect With.. -------------------- ------ -------------------- echo server 7 $ telnet 看到上面的信息,大家不要以为是我每个都敲了两遍,其实是板子中的程序把telnet发给他的信息又原封不动的发回来了,又显示在窗口上了。 2. RxTest---实现了一个IPerf服务器的应用,Iperf是以client的模式运行在PC上的,然后发送数据包到运行在开发板上的RxTest程序。RxTest在应用层接收到数据,当然了数据包是穿过了整个IwIP协议栈,RxTest会丢弃收到的报文,而IwIP会给IPerf发送回应报文,然后Iperf会根据来回的时间和数据量计算和显示出平均吞吐量。 Server Port Connect With.. -------------------- ------ -------------------- echo server 7 $ telnet rxperf server 5001 $ iperf -c 这个在前面的总结中已经测试过了,本人的局域网带宽也就在11.1Mbytes左右。 3. TxTest---实现了一个IPerf client的应用。IPerf是以server的模式运行在PC上,然后接收运行在开发板上的TxTest发送出来的数据包。IPerf根据数据和时间计算出吞吐量。 Server Port Connect With.. -------------------- ------ -------------------- echo server 7 $ telnet rxperf server 5001 $ iperf -c txperf client N/A $ iperf -s -i 5 -w 64k (on host with IP 192.168.1.100) 由于开发板是从路由器上通过DHCP获取的IP地址,而获取的是192.168.8网段的,而程序中可能是还在尝试和192.168.1.100建立连接,所以在PC上运行如下的命令之后始终没有进行流量的测试。先作为一个问题放在这个地方,等后续到程序的时候再进行修改看看能不能测试(当然也可以用直连的方式去测试,这样就可以直接修改IP。) E:Artix-7 FPGA开发板资料7A50T7A50T_EthernetLite_LwIP_Vivado_2014_47A50T_Eth ernetLite_LwIP_VIV2014_4Iperf>iperf.exe -s -i 5 -w 64k ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 64.0 KByte 4. TFTP server---实现了TFTP服务器来在网络上发送和接收文件。 Server Port Connect With.. -------------------- ------ -------------------- echo server 7 $ telnet rxperf server 5001 $ iperf -c txperf client N/A $ iperf -s -i 5 -w 64k (on host with IP 192.168.1.100) tftp server 69 $ tftp -i 192.168.1.10 PUT 同样的win7一般把tftp的功能关闭了,可以参照前面的路径和方法来打开tftp. 然后再运行。 同样在开发板上面会有打印信息: 5. http Server---这个就不做过多的翻译了,相信大家在前面的总结中也看到了可以正常的访问网页,进行简单的LED的测试等。 至此这个应用指导要达到的目的以及涉及到的功能等都介绍完成了,后面就是动手操作一遍并且进行必要的等改等等。 需要用到的软件: 1. Linux或者windows,本人用的win7 2. Iperf 应用指导中已经提供 3. Xilinx Vivado 官网上有提供 4. USB-UART驱动 都已经有打印信息了,肯定都已经装好了。 硬件: 1. 电脑----- 这不是废话么 2. 开发板 3. USB-UART 线 4. 网线 5. 等等等。。。。。。。 ========================华丽丽的分割线================================ 其实整个系统分为两部分,一部分是硬件的设计(软核+外设+内存等等),一部分是软件的设计(OS+IwIP+应用等等),就是把自己想象成既是设计芯片的同时也是使用芯片去进行开发的。 一 硬件设计 1. 创建软核MicroBlaze Vivado IPI提供了丰富的图像环境去创建和定制化软核,同时TCL脚本可以方便快捷的加速开发,这个应用指导就是用TCL直接实现了一个已经构建好的软核系统。 在Vivado的TCL控制窗口输入如下的命令,当然具体的路径需要根据实际的进行修改: cd 7A50T_EthernetLite_LwIP_VIV2014_4 cd IPI source ./design_1.tcl 之后就是等待Vivado把工程创建出来了。 2.生成硬件bit流(个人认为这个和firmware 固件差不多) 之后进行有效性检查(已经是官方验证过的,肯定没问题的!!!!) 然后就build这个工程,在工程管理的窗口中点击生成bit流,之后就会提示要进行综合。 二. 软件设计 通过Vivado的file--export--Export Hardware然后在弹出的对话框中勾选bit流,在file--launch SDK,在弹出的对话框中,指定SDK工作空间的路径,点击OK等一会就会打开SDK,其实就是个eclipse。 然后在Xilinx tools下面选择Repositories. 创建一个新的,添加这个例子的sdk_repo 。 接着创建一个应用程序File ---New ---Application 这里面的Target Hardware其实就是之前生成的bit流,就是在这个硬件平台上进行软件的开发。之后在下一步中选择官方提供的好多例子中选择 LwIP Ethernet Apps (raw API) 这个模板。 至此应用程序就已经建立完成了,也生成了bsp和application。 在bsp里面可以配置好多选项,在这就不一一列举了。 现在代码已经生成了,可以看看之前遗留下来的那个问题了,就是TxTest的那个,找到相关代码如下,和之前的猜想是一致的,一致在和192.168.1.100建立连接。 尝试把它改为本机的IP地址192.168.8.102,然后在重新编译,加载进去。 这样就用修改之后的应用程序和PC建立好了连接并且进行了吞吐量的测试了 其实从头走一遍这个流程还是蛮好的,可以知道整体的设计流程以及注意事项。 另外这个流程和altera的设计流程基本相同,也是显示硬件设计,生成bit流或者NIOS II,然后根据硬件流自行设计软件或者利用例子模板生成代码(bsp+应用程序)。
|
|
相关推荐
|
|
1533 浏览 1 评论
1313 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1523 浏览 0 评论
925 浏览 0 评论
2317 浏览 0 评论
1457 浏览 35 评论
5666 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 09:00 , Processed in 0.674391 second(s), Total 73, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号