A linux kernel driver for PCIe - FPGA communication.
The driver is currently written for a Arria II GX dev. board using a hard IP PCI core and a QSys memory map. A block RAM is used as a ring buffer to copy data to the PC.
- Load the sof bitfile into the FPGA either via the USB-Blaster or the web interface that boots from the reference design in flash. If the bit file loads correctly the debugging LED's will flash out a counting pattern to let you know it's alive.
- Perform a software-reboot of the computer so the PCI bus picks up the new configuration. Keep an eye on the LED's to make sure the board didn't lose power.
- Clone/download the repository into some convenient location.
- Open a shell prompt and move into the repo. directory:
cd /path/to/repo
- Move into the driver folder and compile the driver:
cd src/driver; make
- Run the load_driver script as root:
sudo load_driver.sh
- Move back into the test directory. Compile the test program with:
g++ -std=c++11 test.cpp -o test.out
and then run the executable for some simple read/write tests.