https://github.com/aoeldemann/gopcie
Golang package for PCI Express data transfers
https://github.com/aoeldemann/gopcie
bar data-transfer dma golang pciexpress pciexpress-device
Last synced: 5 months ago
JSON representation
Golang package for PCI Express data transfers
- Host: GitHub
- URL: https://github.com/aoeldemann/gopcie
- Owner: aoeldemann
- License: mit
- Created: 2017-07-04T08:42:44.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-04-24T18:45:12.000Z (about 8 years ago)
- Last Synced: 2025-08-15T02:25:55.038Z (10 months ago)
- Topics: bar, data-transfer, dma, golang, pciexpress, pciexpress-device
- Language: Go
- Homepage:
- Size: 12.7 KB
- Stars: 12
- Watchers: 0
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gopcie PCIExpress library
Golang package gopcie implements data transfer to/from a PCIExpress hardware
device on a Linux-based system. Data can be transferred via:
1) PCIExpress Direct Memory Access (DMA) transfers (requires kernel-space
device driver) or
2) PCIExpress Base Address Register (BAR) accesses.
The BAR resource file identification is based on Andre Richter's
[easy-pci-mmap](https://github.com/andre-richter/easy-pci-mmap).
## Utilities
* `pcie_bar_read`: Command-line utility to read data from PCIExpress Base
Address Register
* `pcie_bar_write`: Command-line utility to write data to PCIExpress Base
Address Register
* `pcie_dma_read`: Command-line utility to read data from PCIExpress device via
Direct Memory Access transfer
* `pcie_dma_write`: Command-line utility to write data to PCIExpress device via
Direct Memory Access transfer