PCI eXpress driver for Altera Cyclone V GT board
CAEN els d.o.o.
- Author
- Jan Marjanovic
- Date
- March 2013
- Version
- 0.7
Change log
- version 0.7:
- implemented multiple buffers, mutiple DMAs
- version 0.6:
- implemented mailbox communication
- version 0.5:
- implemented cyclic buffer
- version 0.4:
- version 0.3:
Main driver file
BEST_PCIe.c
Header file
BEST_PCIe.h (also for user space programs)
Description
- PCI eXpress device driver for Altera Cyclone V GT board.
- Tested on kernel 3.13
Build
make
Insert: (insert_module.sh)
- Insert module in kernel
- Find major number
- Create node in /dev
- Change permission on node
Remove: (remove_module.sh)
- Remove node
- Remove module from kernel
Usage
- Open file
fd = open("/dev/best0", O_RDWR);
- Read status using ioctl to determine which is the last buffer valid.
ioctl(fd, IOCTL_READ_STATUS, &data);
- Set buffer to read from using ioctl command.
ioctl(fd, IOCTL_WRITE_BUF_NR, data.last_buff_valid);
- Read from buffer
read(fd, buf, data.buff_len );
- Close