当前位置:   article > 正文

【PCIE】DMA读写速度测试----Linux系统_pcie dma

pcie dma

PCIE】DMA读写速度测试----Linux系统

前言

众所周知,没玩过PCIe就不能说自己是FPGA工程师!哈哈哈哈哈哈,这是我在某位CSDN大佬那里学到的。所以我马上开始了PCIE的研究,本文章仅仅是在学习过程当中的一些经验,拿出来分享给大家。本次实验所用FPGA为国产品牌(紫光同创),所用型号为PG2L100H,实验包括Windows PCIE驱动加载以及读写测试。另外跟大家推荐一本PCIE的实体书,《PCI Express体系结构导读》王齐前辈的著作,目前我也在学习。

一、PCI Express DMA是什么?

PCI设备与存储器直接进行数据交换的过程也被称为DMA。与其他总线的DMA过程类似,PCI设备进行DMA操作时,需要获得数据传送的目的地址和传送大小。支持DMA传递的PCI设备可以在其BAR空间中设置两个寄存器,分别保存这个目标地址和传送大小。这两个寄存器也是PCI设备DMA控制器的组成部件。
值得注意的是,PCI设备进行DMA操作时,使用的目的地址是PCI总线域的物理地址,而不是存储器域的物理地址,因为PCI设备并不能识别存储器域的物理地址,而仅能识别PCI总线域的物理地址。简单来说cpu通过操控pci的bar空间,通过映射来实现对RAM等的读写操作。

二、使用步骤

1.烧写并固化

程序结构如下,右侧为消耗资源。
在这里插入图片描述
固化完成之后断电,切换到linux系统。(注意程序也要打包到Linux!!!)
请添加图片描述

2.驱动加载

在终端打开driver,make编译完成,无误如下。
请添加图片描述
输入insmod pango_pci_driver.ko,加载相应驱动,完成即可打开QT软件开始测试。另外可执行lspci查看对应设备号一确定设备是否link。
请添加图片描述
QT需要root权限启动
请添加图片描述

3.读写速度测试

在QT打开位于\PCIe_test\PC\pciespeed的程序
请添加图片描述
点击左下角run运行程序
请添加图片描述
即可进行读写速度测试
请添加图片描述
请添加图片描述
本次使用PG2L100H配合AXP100开发板完成,PCIe为Gen2 x2.PCIe驱动上一篇文章已做过演示详情请前往(https://blog.csdn.net/qq_45892894/article/details/134460896)了解,另外可提供QT安装资料,QT源码,PDS程序详情请私信了解。
请添加图片描述
请添加图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号