Advertisement

FPGA DMA 驱动程序:Xilinx DMA 引擎的 C++ 驱动程序,支持分散-聚集模式。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
该 FPGA_DMA 驱动程序,是针对 Xilinx DMA 引擎的 C++ 驱动程序,并支持分散-聚集模式。 其核心设计目标在于简化 Xilinx DMA API 的应用,从而提高开发效率。 为了便于用户理解和使用,该驱动程序同时包含了大量的示例代码,这些示例旨在比官方提供的示例更加直观易懂。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Xilinx DMAC++(含-):FPGA_DMA_driver
    优质
    FPGA_DMA_driver是基于Xilinx FPGA平台开发的一款高效C++驱动程序,专为实现DMA引擎操作而设计,特别支持分散-聚集传输模式,有效提升数据处理性能。 FPGA_DMA驱动程序是一个用于Xilinx DMA引擎的C++驱动程序,并支持分散-聚集模式。该驱动程序的主要目的是简化Xilinx DMA API的使用流程。同时,它还提供了一些示例代码,旨在使这些示例比官方提供的更容易理解。
  • Zynq-XDMA:针对Zynq FPGA DMALinux
    优质
    Zynx-XDMA是一款专为基于Zynq的FPGA设计的Linux驱动程序,旨在优化和管理其内置DMA(直接内存访问)引擎的功能,提升数据传输效率。 该Linux驱动程序已为Xilinx Zynq FPGA开发使用。它是一个包装驱动程序,用于与低级Xilinx驱动程序(xilinx_axidma.c)进行通信,后者连接到Zynq FPGA的PL部分中实现的Xilinx DMA引擎。用户空间应用程序利用此包装驱动程序来配置和控制DMA操作。 编译内核模块时需要根据将要插入的内核版本构建,并建议使用Xilinx维护的Linux内核。该驱动程序已测试可与标签为“v3.15”的linux-xlnx master-next合并(提交40dde7e248951426abcba254e7e070f209)一起使用。 驱动程序模块可以在Li中找到。
  • xdma_driver_win_src_2018_2.zip (PCIe DMA-Xilinx)
    优质
    这段资料是Xilinx公司于2018年发布的PCIe直接内存访问(DMA)驱动程序源代码。它用于Windows操作系统,支持高效的数据传输和处理功能。 xilliix PCIe DMA驱动(基于Xilinx XDMA IP核4.0的WDF驱动)---# XDMA Windows Driver 此项目是针对PCI Express v4.0 (XDMA) IP核心的DMA/桥接子系统的Windows样本驱动程序。 请注意,该驱动及其相关软件仅提供基本通用参考实现。客户可能有特定使用场景或需求,这些情况下该驱动不适用。 ### 依赖项 * 运行Windows 7 或 Windows 10的操作系统目标机器。 * 开发机运行Windows 7(或更高版本)操作系统。 * 在开发机上安装Visual Studio 2015(或更新版)。 * 安装在开发机上的Windows Driver Kit (WDK) 版本为1703(或更晚版本)。 ## 目录结构 ``` / |__ build/ - 包含生成的构建输出二进制文件目录 |__ exe/ - 含有示例客户端应用程序源代码。 | |__ simple_dma/ - 配置为AXI-MM的XDMA IP的示例代码。 | |__ streaming_dma/ - 配置为AXI-ST的XDMA IP的示例代码。 | |__ user_events/ - 访问用户事件中断的示例代码 | |__ xdma_info/ - 用于打印出XDMA核心IP配置信息的应用程序工具。 | |__ xdma_rw/ - 读写到如控制、用户、旁路、h2c_0, c2h_0等xdma设备节点的实用工具。 | |__ xdma_test/ - 基本测试应用程序,执行所有现有通道上的H2C/C2H传输 |__ inc/ - 包含XDMA驱动程序的公共API头文件。 |__ libxdma/ - 静态内核库用于XDMA IP。 |__ sys/ - 使用libxdma的参考驱动源代码。 |__ README.md - 本项目说明文档。 |__ XDMA.sln - Visual Studio解决方案文件。 ```
  • LMT70DMA
    优质
    LMT70驱动程序(DMA)是一款专为LMT70温度传感器设计的数据采集软件工具,利用直接内存访问技术提高数据传输效率和系统响应速度。 基于STM32F1的LMT70A温度传感器驱动程序可以测量从-50到160度的范围,并且误差在正负0.2度以内(根据官方数据)。但在实际测试中,在测量1.5V干电池时,误差为+2至+4mA。焊接后的LMT70A似乎存在问题,导致温度读数不准确。传感器的TAO引脚连接到PA6,并使用3.3V供电电压。该驱动程序适用于STM32F103C8T6单片机,其他芯片未进行测试。通过USART1串口发送当前温度和实时电压数据。
  • WS2812SPI+DMA
    优质
    本项目提供了一种高效的WS2812 LED控制方案,采用STM32微控制器的SPI和DMA技术,实现数据传输的自动化与低延迟,适用于复杂的LED动画展示。 STM32通过硬件SPI+DMA方式驱动WS2812灯珠的驱动程序移植了Adafruit_NeoPixel库函数,可以实现多种显示效果。在main函数中保留了各种样式的测试函数,只需在头文件中配置灯珠个数,并将控制引脚接到PA7即可。目前测试过程中未发现明显bug,若有问题欢迎指出!
  • Windows下PCIe DMA内存配等功能
    优质
    本驱动程序专为Windows系统设计,旨在优化PCIe设备的数据传输性能。它提供了全面的功能支持,包括高效内存分配、数据直接存储器访问(DMA)等,以确保无缝的硬件兼容性和卓越的应用体验。 PCIe DMA Windows驱动程序,在Windows下支持PCIe设备的驱动开发,包含DMA、内存分配等功能,并且实现了中断处理例程。该驱动适用于WDK 7.1和WDK 8.1等版本。
  • DMA:适用于AXILinux UIO
    优质
    本项目提供了一个基于Linux UIO框架的驱动程序,专门用于通过AXI总线接口与硬件模块通信。它简化了用户空间对底层硬件的操作和监控。 在处理UDMA背景下的自定义AXI4-Full/Lite IP控制时,我们通常使用UIO驱动程序。然而,当我们转向AXI4-Stream IP时,由于其独特的架构(如customStreamIP.jpg所示),不会生成UIO设备节点。取而代之的是出现了一个DMA控制器,并且现有的UIO驱动程序无法对此进行有效管理。 因此,我们需要对UIO驱动程序做出一些修改并在devicetree文件中做一些复杂的设置来适应这种情况。通过这些调整之后,我们能够使用修改后的UIO驱动程序控制自定义的AXI4-Stream IP设备。 在实际应用中,在设备树配置时需要明确指定哪些dmaengine兼容的DMA通道将创建用户空间可访问的设备文件: ```plaintext udma0 { compatible = generic-uio; dmas = <&loopback_dma 0>,<&loopback_dma 1>; dma-names = lo, hi; }; ``` 这使得我们可以有效地在用户空间中通过UIO驱动程序来管理和控制AXI4-Stream IP设备的DMA通道。
  • STM32_Graphics_Display_Drivers: STM32_LCD(当前:SPI(DMA), GPIO, FS...)
    优质
    本仓库包含针对STM32微控制器系列的图形显示驱动程序源代码,支持多种接口如SPI(DMA)、GPIO等,适用于LCD屏幕的高效显示应用。 stm32_graphics_display_drivers:STM32 LCD驱动程序支持SPI(DMA)、GPIO、FSMC(DMA)接口以及ST7735、ST7783、ILI9325、ILI9328、ILI9341、ILI9486和ILI9488等显示器。
  • 基于STM32SPI和DMASD卡
    优质
    本项目开发了一套基于STM32微控制器的软件方案,利用SPI接口与DMA技术高效驱动SD卡,实现快速数据读写功能。 使用STM32的SPI结合DMA方式并通过HAL库驱动SD卡底层程序的方法可以通过宏定义来选择是否启用DMA功能。相较于非DMA模式,采用DMA模式在速度上具有明显的优势。
  • SPI-BCM2708 (已停产): 包含Raspberry Pi DMASPI主 - 源码
    优质
    这段代码是为Raspberry Pi早期版本(使用BCM2708芯片)设计的SPI主驱动程序源码,包含DMA支持功能。注意该版本硬件已停产。 SPI-BCM2708 SPI主驱动程序具有对Raspberry Pi的DMA支持功能。有关更多信息,请参见相关文档。