【PCIE】PCIE驱动识别及读写测试----windows系统

本文分享了使用紫光同创PG2L100HFPGA进行Windows系统下的PCIe驱动加载过程,以及如何进行读写测试,包括进入调试模式、设备管理器操作和使用pdma_rw.exe执行测试。同时提及了PCIe基础知识和推荐的学习资源。
摘要由CSDN通过智能技术生成

PCIE驱动识别及读写测试(windows系统下的驱动及测试)

经验分享

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

PCIE驱动加载

PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准。属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽。这里仅简单说一下pcie,pcie驱动请大家在CSDN或知乎等自行学习。

加载准备

驱动程序可自行在CSDN查找,这里不过多叙述。本次先从Windows系统开始研究。

一. 重启系统,进入调试模式
1.恢复——高级启动
恢复选项(图片仅供学习)
高级启动(图片仅供学习)
2.疑难解答-高级选项-启动设置-重启

疑难解答(图片仅供学习)
高级启动(图片仅供学习)
启动设置(图片仅供学习)
重启(图片仅供学习)
到这里按F7或7重启之后 加载准备就完成了。
(图片仅供学习)

驱动更新

进入设备管理器

图片仅供学习
图片仅供学习
图片仅供学习
添加准备好的windows驱动
图片仅供学习

加载成功

图片仅供学习

PCIE读写测试

打开cmd,进入驱动所在位置。
图片仅供学习
输入pdma_rw.exe h2c_0 write 0 -l 2048 -f datafile4K.bin就可以看到如下图,从datafile4K.bin文件拿了2048bytes数据,以及写完这些数据花费的时间。
图片仅供学习

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
xilliix pcie dma 驱动 (基于 xilnx xdma ip核 4.0 的WDF驱动) --- # XDMA Windows Driver This project is Xilinx's sample Windows driver for 'DMA/Bridge Subsystem for PCI Express v4.0' (XDMA) IP. *Please note that this driver and associated software are supplied to give a basic generic reference implementation only. Customers may have specific use-cases and/or requirements for which this driver is not suitable.* ### Dependencies * Target machine running Windows 7 or Windows 10 * Development machine running Windows 7 (or later) * Visual Studio 2015 (or later) installed on development machine * Windows Driver Kit (WDK) version 1703 (or later) installed on development machine ## Directory Structure ``` / |__ build/ - Generated directory containing build output binaries. |__ exe/ - Contains sample client application source code. | |__ simple_dma/ - Sample code for AXI-MM configured XDMA IP. | |__ streaming_dma/ - Sample code for AXI-ST configured XDMA IP. | |__ user_events/ - Sample code for access to user event interrupts. | |__ xdma_info/ - Utility application which prints out the XDMA core ip | | configuration. | |__ xdma_rw/ - Utility for reading/writing to/from xdma device nodes such | | as control, user, bypass, h2c_0, c2h_0 etc. | |__ xdma_test/ - Basic test application which performs H2C/C2H transfers on | all present channels. |__ inc/ - Contains public API header file for XDMA driver. |__ libxdma/ - Static kernel library for XDMA IP. |__ sys/ - Reference driver source code which uses libxdma |__ README.md - This file. |__ XDMA.sln - Visual Studio Solution. ```
PCIe设备驱动的流程如下: 第一步是初始化。在初始化阶段,系统会扫描所有的PCIe总线,识别并初始化连接在总线上的各个设备。每个PCIe设备都具有唯一的设备ID和厂商ID,系统会根据这些ID来确定各个设备的类型和特性,并为其分配资源。 第二步是寻找合适的驱动程序。在初始化完成后,系统会根据设备ID和厂商ID来寻找适合的设备驱动程序。设备驱动程序是用于与该设备进行交互和通信的软件模块,它包含了设备的各种操作和控制的指令。 第三步是加载和安装驱动程序。一旦找到合适的驱动程序,系统会将该驱动程序加载到内存中,并与设备进行绑定。这个过程中,系统会检查和分配设备所需要的资源,如内存空间、中断向量等,确保设备能够正常工作。 第四步是设备初始化。在驱动程序加载完成后,系统会调用驱动程序中的初始化函数来对设备进行初始化设置。这包括配置寄存器的值、设置中断处理程序、分配和映射设备的内存等等。 第五步是设备操作和通信。一旦设备初始化完成,系统就可以通过驱动程序对设备进行各种操作和控制了。这包括读写设备寄存器、发送和接收数据、处理中断等。 最后一步是设备卸载和资源释放。当设备不再需要时,系统会调用驱动程序的卸载函数来释放设备所占用的资源,并从系统中移除该设备。 总的来说,PCIe设备驱动的流程包括初始化、寻找驱动程序、加载和安装驱动程序、设备初始化、设备操作和通信,以及设备卸载和资源释放。通过这个流程,系统可以有效地管理和控制PCIe设备的工作。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值