The SPEC7 tools is a collection of software tools in the spec7/sw/spec7-tools/ directory. These tools can be used to better communicate with the SPEC7. This page provide a (very) brief overview of these software tools.
PCIe related tools
This kernel module is written by the one and only Ton Damen and lies at the heart of all the PCIe tools. After building and loading this module a "/dev/spec7" entry can be found on the system. The module can be build and loaded by doing:
$ make # make install # modprobe spec7
This simple python tool can be used to read and/or write memory over PCIe to an AXI-lite interface . For example the following will read 128 data words from address 0x40000, useful for interfacing with the White Rabbit LM32 processor.
# ./spec7_mm.py -a 0x40000 -n 128 --copy-to-file ./binary_data.bin
And to write
# ./spec7_mm.py -a 0x00000 -n 0x108000 --write-form-file ./binary_data.bin
This tool interfaces with the UART of a running white rabbit design. It uses terminos to provide a minicom-like uart experience.
# ./spec7_vuart.py --device /dev/spec7
A very simple shell script to remove and rescan a spec7 pcie entry. Simply do:
To re-enable a pcie design after loading a bitfile. Note: This script must be run as root (sudo won't do).
A shell script to reset the spec7 using the SMBus on the Pcie-connector. Simply do:
To reset the spec7.
Xilinx XDMA driver
If you want to use the official xilinx xdma driver to be able to use the high-speed xdma its sources can be found on the official xdma driver repo on github