SPEC7 tools
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
spec7-kernel-module
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
spec7_mm.py
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
spec7_vuart.py
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
Pcie_rescan.sh
A very simple shell script to remove and rescan a spec7 pcie entry. Simply do:
# ./Pcie_rescan.sh
To re-enable a pcie design after loading a bitfile. Note: This script must be run as root (sudo won't do).
SMBus_reset
A shell script to reset the spec7 using the SMBus on the Pcie-connector. Simply do:
# ./spec7_reset.sh
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