R-Tile Avalon® Streaming Intel® FPGA IP for PCI Express* Design Example User Guide

ID 683544
Date 7/08/2024
Public
Document Table of Contents

2.6. Installing the Linux Kernel Driver

Before you can test the design example in hardware, you must install the Linux kernel driver. You can use this driver to perform the following tests:
  • A PCIe* link test that performs 100 writes and reads
  • Memory space DWORD5 reads and writes
  • Configuration Space DWORD reads and writes

In addition, you can use the driver to change the value of the following parameters:

  • The BAR being used
  • The selected device (by specifying the bus, device and function (BDF) numbers for the device)

Complete the following steps to install the kernel driver:

  1. Navigate to ./software/kernel/linux under the example design generation directory.
  2. Change the permissions on the install, load, and unload files:
    $ chmod 777 install load unload
  3. Install the driver:
    $ sudo ./install
  4. Verify the driver installation:
    $ lsmod | grep intel_fpga_pcie_drv
    Expected result:

    intel_fpga_pcie_drv 17792 0

    Note: The 17792 number from the outcome above may be different on each platform.
  5. Verify that Linux recognizes the PCIe* design example:
    $ lspci -d 1172:000 -v | grep intel_fpga_pcie_drv
    Note: If you have changed the Vendor ID, substitute the new Vendor ID for Intel® 's Vendor ID in this command (1172).
    Expected result:

    Kernel driver in use: intel_fpga_pcie_drv

5 Throughout this user guide, the terms word, DWORD and QWORD have the same meaning that they have in the PCI Express Base Specification. A word is 16 bits, a DWORD is 32 bits, and a QWORD is 64 bits.