我是靠谱客的博主 迅速豆芽,最近开发中收集的这篇文章主要介绍基于ZYNQ-7000的AI加速器设计之PS端(ARM)网络编程(TCP协议),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前注:ARM端的TCP协议编程步骤和UDP协议编程步骤完全相同,只是在ARM端的C代码实现不同,在本次TCP协议实现过程中我们主要利用了官方提供的Demo,然后根据自己的需要加以改写,具体过程如下。

1、开始前的准备工作

  • 关闭电脑防火墙
  • 连接开发板电源
  • 开发板与PC之间串口连接,JTAG下载线连接
  • PC机与开发板间网线连接,并保证能ping通

2、Vivado端配置

  1. 创建工程,具体步骤不详细介绍,网上都有教程,器件型号按照实际用的板子的型号选,我这里用的是米联Miz7035的板子
  2. 工程创建完毕后,在Vivado主页左边有个(创建块设计)create block design,点击创建,然后添加ZYNQ7 Processing System IP核,然后对IP核进行配置,主要需要配置的几个地方为:
  • 配置时钟,由于本工程只用到了PS资源,只需要给PS配置时钟,所以可以不用给PL提供时钟。
  • 配置串口,勾选UART1用于打印相关调试信息。
  • 配置网口,勾选ENET0,用于PC和开发板的UDP通信。
  • 配置DDR内存,按照具体板子的DDR型号进行配置,由于目前我们的工程在PS端还是在“裸奔”,所以内存一定要配置正确,不然后续Debug会出现问题。
  • 配置完成后就是检查规范性,生成输出文件,创建顶层文件,导出硬件,这个具体步骤我在前面讲过,有不知道如何操作的可以翻翻之前的博文进行操作。

    最后生成的PS结构如下图所示:

      3.最后导出硬件,启动SDK。

3、SDK端编程

    SDK端主要进行UDP协议的一个实现,语言采用c语言。主要步骤如下:

  1. 创建SDK工程,file->new->application project,可以选择一个模板,也可以选择一个空工程,我们选择lwIP TCP echo server模板,然后在此基础上进行改写。
  2. Debug调试。

4、调试结果

     整个的调试流程为FPGA接收到PC端发送过来的一个数据后,FPGA将该数据回传。整个流程初始化完毕后串口打印的信息如下图所示:

     利用网络调试助手模拟PC机给FPGA发送数据和接收数据,FPGA的地址为192.168.1.10,端口为7,调试结果如下图所示:

 5、资源获取链接

      完整的实现TCO协议的src文件我上传了百度网盘,链接如下,有需要的请自取。

      链接:https://pan.baidu.com/s/1Hcw7apaZhxNT9wwQ-45O6w 提取码:xjd6 

最后

以上就是迅速豆芽为你收集整理的基于ZYNQ-7000的AI加速器设计之PS端(ARM)网络编程(TCP协议)的全部内容,希望文章能够帮你解决基于ZYNQ-7000的AI加速器设计之PS端(ARM)网络编程(TCP协议)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部