Xilinx_Answer_65444_Linux_Files_rel20180420.zip

  • zhanwen
    了解作者
  • LINUX
    开发工具
  • 485KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 11
    下载次数
  • 2020-03-14 10:03
    上传日期
xlinx xdma driver for linux
Xilinx_Answer_65444_Linux_Files_rel20180420.zip
  • Xilinx_Answer_65444_Linux_Files_rel20180420
  • xdma
  • Makefile
    847B
  • version.h
    858B
  • cdev_xvc.c
    5.9KB
  • cdev_bypass.c
    3.9KB
  • libxdma.h
    17.3KB
  • cdev_ctrl.c
    6.7KB
  • xdma_cdev.c
    12.6KB
  • cdev_sgdma.c
    13.6KB
  • xdma_mod.h
    2.7KB
  • libxdma.c
    114.2KB
  • xdma_cdev.h
    1.4KB
  • cdev_events.c
    2.8KB
  • cdev_xvc.h
    908B
  • cdev_sgdma.h
    2KB
  • xdma_mod.c
    8.8KB
  • cdev_ctrl.h
    2.3KB
  • tools
  • dma_to_device.c
    6.5KB
  • dma_utils.c
    3.6KB
  • Makefile
    599B
  • performance.c
    5.5KB
  • reg_rw.c
    5.3KB
  • dma_from_device.c
    6.1KB
  • tests
  • data
  • datafile0_4K.bin
    4KB
  • datafile_256K.bin
    257KB
  • datafile1_4K.bin
    4KB
  • datafile_8K.bin
    8KB
  • datafile3_4K.bin
    4KB
  • datafile2_4K.bin
    4KB
  • datafile_32M.bin
    32MB
  • dma_streaming_test.sh
    2.1KB
  • .perform_hwcount.sh.swp
    12KB
  • run_test.sh
    2.9KB
  • dma_memory_mapped_test.sh
    3.1KB
  • perform_hwcount.sh
    861B
  • load_driver.sh
    1.2KB
  • include
  • libxdma_api.h
    4.2KB
  • libxdma
  • Makefile
    511B
  • version.h
    858B
  • libxdma.h
    17.3KB
  • libxdma.c
    114.2KB
  • LICENSE
    1.5KB
  • COPYING
    17.6KB
  • readme.txt
    5.7KB
内容介绍
The files in this directory provide Xilinx PCIe DMA drivers, example software, and example test scripts that can be used to exercise the Xilinx PCIe DMA IP. This software can be used directly or referenced to create drivers and software for your Xilinx FPGA hardware design. Directory and file description: =============================== - xdma/: This directory contains the Xilinx PCIe DMA kernel module driver files. - libxdma/: This directory contains support files for the kernel driver module, which interfaces directly with the XDMA IP. - include/: This directory contains all include files that are needed for compiling driver. - etc/: This directory contains rules for the Xilinx PCIe DMA kernel module and software. The files in this directory should be copied to the /etc/ directory on your linux system. - tests/: This directory contains example application software to exercise the provided kernel module driver and Xilinx PCIe DMA IP. This directory also contains the following scripts and directories. - load_driver.sh: This script loads the kernel module and creates the necissary kernel nodes used by the provided software. The The kernel device nodes will be created under /dev/xdma*. Additional device nodes are created under /dev/xdma/card* to more easily differentiate between multiple PCIe DMA enabled cards. Root permissions will be required to run this script. - run_test.sh: This script runs sample tests on a Xilinx PCIe DMA target and returns a pass (0) or fail (1) result. This script is intended for use with the PCIe DMA example design. - perform_hwcount.sh: This script runs hardware performance for XDMA for both Host to Card (H2C) and Card to Host (C2H). The result are copied to 'hw_log_h2c.txt' and hw_log_c2h.txt' text files. For each direction the performance script loops from 64 bytes to 4MBytes and generate performance numbers (byte size doubles for each loop count). You can grep for 'data rate' on those two files to see data rate values. Data rate values are in percentage of maximum throughput. Maximum data rate for x8 Gen3 is 8Gbytes/s, so for a x8Gen3 design value of 0.81 data rate is 0.81*8 = 6.48Gbytes/s. Maximum data rate for x16 Gen3 is 16Gbytes/s, so for a x16Gen3 design value of 0.78 data rate is 0.78*16 = 12.48Gbytes/s. This program can be run on AXI-MM example design. AXI-ST example design is a loopback design, both H2C and C2H are connected. Running on AXI-ST example design will not generate proper numbers. If a AXI-ST design is independent of H2C and C2H, performance number can be generated. - data/: This directory contains binary data files that are used for DMA data transfers to the Xilinx FPGA PCIe endpoint device. Usage: - Change directory to the driver directory. cd xdma - Compile and install the kernel module driver. make install - Change directory to the tools directory. cd tools - Compile the provided example test tools. make - Copy the provided driver rules from the etc directory to the /etc/ directory on your system. cp ../etc/udev/rules.d/* /etc/udev/rules.d/ - Load the kernel module driver: a. modprobe xdma b. using the provided script. cd tests ./load_driver.sh - Run the provided test script to generate basic DMA traffic. ./run_test.sh - Check driver Version number modinfo xdma (or) modinfo ../xdma/xdma.ko Updates and Backward Compaitiblity: - The following features were added to the PCIe DMA IP and driver in Vivado 2016.1. These features cannot be used with PCIe DMA IP if the IP was generated using a Vivado build earlier than 2016.1. - Poll Mode: Earlier versions of Vivado only support interrupt mode which is the default behavior of the driver. - Source/Destination Address: Earlier versions of Vivado PCIe DMA IP required the low-order bits of the Source and Destination address to be the same. As of 2016.1 this restriction has been removed and the Source and Destination addresses can be any arbitrary address that is valid for your system. Frequently asked questions: Q: How do I uninstall the kernel module driver? A: Use the following commands to uninstall the driver. - Uninstall the kernel module. rmmod -s xdma - Delete the dma rules that were added. rm -f /etc/udev/rules.d/60-xdma.rules rm -f /etc/udev/rules.d/xdma-udev-command.sh Q: How do I modify the PCIe Device IDs recognized by the kernel module driver? A: The xdma/xdma_mod.c file constains the pci_device_id struct that identifies the PCIe Device IDs that are recognized by the driver in the following format: { PCI_DEVICE(0x10ee, 0x8038), }, Add, remove, or modify the PCIe Device IDs in this struct as desired. Then uninstall the existing xdma kernel module, compile the driver again, and re-install the driver using the load_driver.sh script. Q: By default the driver uses interupts to signal when DMA transfers are completed. How do I modify the driver to use polling rather than interrupts to determine when DMA transactions are completed? A: The driver can be changed from being interrupt driven (default) to being polling driven (poll mode) when the kernel module is inserted. To do this modify the load_driver.sh file as follows: Change: insmod xdma/xdma.ko To: insmod xdma/xdma.ko poll_mode=1 Note: Interrupt vs Poll mode will apply to all DMA channels. If desired the driver can be modified such that some channels are interrupt driven while others are polling driven. Refer to the poll mode section of PG195 for additional information on using the PCIe DMA IP in poll mode.
评论
    相关推荐
    • xdma_driver_win_bin_x64_2017_4.zip
      1.适配Xilinx FPGA PCIe例程的驱动程序。 2.注意PID&VID需要和例程中的DMA IP设置保持一致。 3. 仅仅是Windows下的驱动程序,不包含源代码。
    • v7_pcie_gen3.rar
      PCIe XDMA 这是一个7系列的PCIe说明文档,其中使用的XDma功能
    • xilinx_xdma_windrive.rar
      Xilinx官方提供的Windows平台下的XDMA的驱动程序和VS源代码,有三个子压缩包,有win7和win0版本
    • graphanalytics:Xilinx Alveo Graph Analytics产品存储库
      Xilinx Graph Analytics产品是用C ++编写的开源产品,用于在各种用例中加速图形数据库应用程序。 有关详细文档,请访问
    • xilinx xdma windows驱动
      This project is Xilinx's sample Windows driver for 'DMA/Bridge Subsystem for PCI Express' (XDMA) IP. This sample driver only has limited support for the XDMA IP features
    • zynq-xdma:Zynq FPGA DMA 引擎的 Linux 驱动程序
      它是一个包装驱动程序,用于与低级 Xilinx 驱动程序 (xilinx_axidma.c) 对话,该驱动程序连接到在 Zynq FPGA 的 PL 部分中实现的 Xilinx DMA 引擎。 用户空间应用程序使用此包装驱动程序来配置和控制 DMA 操作。 ...
    • Xilinx_xdma_driver_win_2018_2
      这是Xilinx官方提供的Windows平台下的XDMA的驱动程序和VS源代码,压缩包里面包含三个子压缩包
    • xdma_driver_win_src_2017_4.zip
      这是xilinu公司提供的,FPGA板卡的windows版的PCIe驱动
    • Xilinx公司xdma驱动下的底层读写DLL封装
      自己将Xilinx提供的xdma IP核 PCIE驱动的底层读写操作封装成了DLL文件,可供其它C++或C#程序直接调用,已经在项目中使用,非常方便,支持PCIE中断
    • android从bootloader到launcher启动流程整理
      讲述android 开机流程 从boot rom---bootloader---init--zygote---systemserver---ams 并附上自己整理的每个流程的流程图 ,清晰熟悉android 启动流程