跳转到主要内容

Xilinx Vitis学习教程:ZYNQ之lwip使用Echo server(2)

judy 提交于

<font color="#FF8000">作者:joy_v
原文链接: https://blog.csdn.net/longfei_3/article/details/103882050
声明:本文由原创博主授权转发,如需转载请联系博主</font>

继续学习ZYNQ,吃了好几年灰的ZYNQ 7020开发板一直没时间玩,现在稍微有点时间,准备空闲之余折腾一下,之前一直使用STM32等各式单片机,LINUX知识也知道一点,对HDL也是一窍不通,现在准备恶补一下,对于我来说,学习固然重要,但是白费力折腾也是要有的,所以选择还没多少人用的Vitis平台(可能很多人使用,我比较孤陋寡闻),现在开始折腾。

先介绍一下原理图端口,颜色方框的都是要用到的(原理图是黑金的7020,这里不是打广告,其实zed board对新手更友好,好,pynq也不错,按照价格选择自己合适的)。
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

继续折腾,创建Vivado工程,添加ARM处理器
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

双击ARM核设置外设(如图必须的外设)
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

没有用到AXI总线,取消掉
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

设置端口电压
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

使能Timer0,端口随便选了一个,没有动PL资源
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

时钟设置,保持默认不变
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

选择DDR3
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

连线,生成文件
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

生成顶层
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

导出设计
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

开始折腾软件,打开vitis导入刚才的设计
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

选择BSP,使用LWIP
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

设置完成后,编译一下,不然可能会出问题,别问我怎么知道的,我他妈没看文档试出来的。
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

创建一个app project,选择刚才的platform,选择echo server例程
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

工程创建完毕,打开main.c,可以看到ip地址
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

测试一下代码,本机IP我设置成192.168.1.2,直连电脑网口,打开串口调试 115200bps,无校验,停止位1。

此时看到调试信息已经输出
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

telnet一下,192.168.1.10端口7,我使用的软件是SecureCRT 7.3
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

输入123456回车,板子也返回的123456,
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

测试一下win10 自带的telnet

cmd-> telnet 192.168.1.10 7

回车

似乎连上了,但是无法回传
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-03/%E5%8D%9A%E5%AE%A2/100048439-93…; alt=""></center>

windows自带的telnet不行,似乎是编码的问题,改天研究一下。

结束