...
Code Block | ||
---|---|---|
| ||
# Download the driver package from github.com
$ wget https://github.com/slaclab/aes-stream-drivers/archive/v1.0.1.tar.gz
$ tar -zxvf v1.0.1.tar.gz
# go to the pgpcard directory and build the driver:
$ cd aes-stream-drivers-1.0.1/pgpcard/driver/
$ make
# You will end up with a file pgpcard.ko
# Load the driver as root:
$ sudo insmod pgpcard.ko
# Update the permissions to the device such that
# you won't need sudo access to run the software application
$ sudo chmod 666 /dev/pgpcard_*
# Verify the card loaded:
$ cat /proc/pgpcard_0
# Scroll up and you will see a dump of information for "lane 0" like this
-------------- Lane 0 --------------------
LoopBack : 0
LocLinkReady : 1
RemLinkReady : 1
RxReady : 1
TxReady : 1
RxCount : 0
CellErrCnt : 0
LinkDownCnt : 1
LinkErrCnt : 0
FifoErr : 0
RemData : 0x00
RemBuffStatus : 0x00
# "LocLinkReady : 1" means Link up on local side
# "RemLinkReady : 1" means Link up on remote side
# The aes-stream-drivers/include directory will be needed for the next step.
# Make note of the full directory path (used for "AES_INCLUDE") |
...
Code Block | ||
---|---|---|
| ||
$ make |
Code Block | ||
---|---|---|
| ||
# First dump the status register. This will include the firmware version and build string: |
...
$ bin/dumpStatus |
...
FwVersion |
...
|
...
|
...
= 0x00000001 BuildStamp |
...
|
...
= Kcu105Pgp: Vivado v2016.4, x86_64, Built Wed May |
...
3 13:52:04 PDT 2017 by rherbst HeartBeat |
...
|
...
= 0x00000000 Scratchpad |
...
|
...
= 0x00000000 |
...
PRBS Length = 255 |
...
# |
...
In one terminal start the data dump process: |
...
$ bin/dumpData |
...
# In another terminal start the routine which periodically writes a register to generate a data frame: |
...
$ bin/genData |
...
# The output of the dumpData terminal show show: |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
Got Data. Size=1024, error=0 |
...
... |
...
Git hub repositories for firmware and drivers:
Information about the register access protocol used in the CPIX camera and development board:
...
Ryan Herbst
rherbst@slac.stanford.edu
Office: 650-926-4911
Mobile: 408-489-6582