Change dir into the freshly cloned repository, and check out the latest stable release:
$ cd fmc-adc-100m14b4cha-sw$ git checkout fmc-adc-100m-4.1.1
After that, just type 'make', but exclude building of the White Rabbit NIC (it does not work with recent Linux kernels and it is not required at all by the FMC-ADC software):
$ CONFIG_WR_NIC=n make
This will build the FMC ADC drivers, libraries and test programs. In the
process, the build will automagically resolve the dependent submodules
(fmc-bus, spec-sw, zio) and build them recursively. After some minutes,
depending on your hardware configuration, the build should have
We are about to load the Linux device drivers for your FMC ADC. There is
one more pre-requisite before doing so. Appropriate firmware binaries
must be made accessible to initialise your hardware:
These are the required modules to drive an FMC ADC (or more) carried by
Note: Because these modules are not officially signed, the kernel will refuse to load
them if Secure Boot is enabled. Please make sure that Secure Boot is disabled in your BIOS.
If you really need to have the Secure Boot feature enabled, please have a look on how to
sign your own modules
and use your own keys to sign all five modules listed above.
If this step is successful, your kernel module list should display at
least the following:
If you got to this point, congratulations! Your kernel device drivers
are ready to go, and the installed boards should be recognized by them.
Look into the directory /dev/zio to see your device nodes in full glory:
$ ls -l /dev/ziocrw-rw---- 1 root root 247, 8 May 18 11:41 /dev/zio/adc-100m14b-0400-0-i-ctrlcrw-rw---- 1 root root 247, 9 May 18 11:41 /dev/zio/adc-100m14b-0400-0-i-data
Do note the hexadecimal number after the "adc-100m14b" in the example above, you will need this when doing an acquisition later.
Finally, do an acquisition
of the manual describes how to use the FMC ADC workhorse program
fald-simple-acq, which will allow you to acquire samples from your ADC.
Instructions in the manual are sufficient to get you started, so we will
not duplicate them here.
As a quick example, to perform an acquisition of 20 samples with an internal threshold of 0V on channel 1, do the following:
$ cd fmc-adc-100m14b4cha-sw/libtools$ sudo ./fald-acq -b 10 -a 10 -n 1 -t 0 -c 1 0x400
(The 0x400 comes from /dev/zio as seen in the example before).