Commit cf78b460 authored by Lucas Russo's avatar Lucas Russo

README.md: use github markdown markups

Now, the README.md file has been remodeled
to start using the Github Flavored Markdown
parsing
parent c9ec7d62
============================================================================== # Beam Position Monitor Software
Repository containing the Beam Position Monitor Software Software for controlling the AFC BPM boards
============================================================================== ## Prerequisites:
Prerequisites: Make sure you have the following libraries installed:
-> Make sure you have the following libraries installed: * zeromq-4.0.4 (http://zeromq.org/area:download)
* czmq-2.1.0 (http://czmq.zeromq.org/page:get-the-software)
* zeromq-4.0.4 (http://zeromq.org/area:download) Cloning this repository
* czmq-2.1.0 (http://czmq.zeromq.org/page:get-the-software)
-> Cloning this repository git clone --recursive https://github.com/lerwys/bpm-software.git
1 - git clone --recursive https://github.com/lerwys/bpm-software.git Install the Majordomo application from this repository (autotools-based)
-> Install the Majordomo application from this repository (autotools-based) cd majordomo/libmdp
3 - cd majordomo/libmdp Execute the traditional sequence of autotools commands:
-> Execute the traditional sequence of autotools commands: ./autogen.sh && make && sudo make install
4 - ./autogen.sh && make && sudo make install ## PCIe Installation Instructions
============================================================================== Install linux header files
PCIe Installation Instructions: sudo apt-get install linux-headers-generic
1 - sudo apt-get install linux-headers-generic Install the GIT package
-> Install the GIT package sudo apt-get install binutils gcc
2 - sudo apt-get install binutils gcc Change folder to the pcie driver location
-> Change folder to the pcie driver location cd kernel
4 - cd kernel Compile the PCIe driver and its tests
-> Compile the PCIe driver and its tests make
5 - make Install the PCIe drivers and libraries
-> Install the PCIe drivers and libraries sudo make install
6 - sudo make install Load the Driver module
-> Load the Driver module sudo insmod /lib/modules/$(uname -r)/extra/PciDriver.ko
7 - sudo insmod /lib/modules/$(uname -r)/extra/PciDriver.ko After this the kernel should have found the FPGA board
and initialized it. Run the following command and check its output
-> After this the kernel should have found the FPGA board and dmesg | tail
initialized it. Run the following command and check its output
8 - dmesg | tail You should see something like the excerpt below:
-> You should see something like the excerpt below: [267002.495109] pciDriver - pcidriver_init :
Major 250 allocated to nodename 'fpga'
[267002.495130] pciDriver - pcidriver_probe :
Found ML605 board at 0000:01:00.0
[267002.495224] pciDriver - pcidriver_probe :
Device /dev/fpga0 added
[267002.495434] pciDriver - pcidriver_probe_irq :
Registered Interrupt Handler at pin 1, line 11, IRQ 16
[267002.495450] pciDriver - pcidriver_init :
Module loaded
" ## Running the PCIe self-test
[267002.495109] pciDriver - pcidriver_init :
Major 250 allocated to nodename 'fpga'
[267002.495130] pciDriver - pcidriver_probe :
Found ML605 board at 0000:01:00.0
[267002.495224] pciDriver - pcidriver_probe :
Device /dev/fpga0 added
[267002.495434] pciDriver - pcidriver_probe_irq :
Registered Interrupt Handler at pin 1, line 11, IRQ 16
[267002.495450] pciDriver - pcidriver_init :
Module loaded
"
==============================================================================
Running the PCIe self-test: After the installation of the PCIe driver (see above)
it is possible to run a self test to check if
everything is setup properly. For this run the following:
-> After the installation of the PCIe driver (see above) it is possible to run Change to the "compiled tests folder"
a self test to check if everything is setup properly. For this run the following:
-> Change to the "compiled tests folder" cd tests/pcie/bin
1 - cd tests/pcie/bin Run the test entitled "testPciDriverMod"
-> Run the test entitled "testPciDriverMod" sudo ./testPciDriverMod
2 - sudo ./testPciDriverMod You should get an output like the following, if everythig is ok:
-> You should get an output like the following, if everythig is ok:
"
Testing OPEN DEVICE... PASSED! Testing OPEN DEVICE... PASSED!
Testing PCIDRIVER_IOC_MMAP_MODE... PASSED! Testing PCIDRIVER_IOC_MMAP_MODE... PASSED!
Testing PCIDRIVER_IOC_MMAP_AREA... PASSED! Testing PCIDRIVER_IOC_MMAP_AREA... PASSED!
...@@ -177,40 +172,42 @@ Running the PCIe self-test: ...@@ -177,40 +172,42 @@ Running the PCIe self-test:
------------------------------------- -------------------------------------
| All tests PASSED! | | All tests PASSED! |
------------------------------------- -------------------------------------
"
-> Notice that some tests that try to evaluate the limits of a current Notice that some tests that try to evaluate the limits of a current
Linux Kernel may fail in some cases. In the example above, Linux Kernel may fail in some cases. In the example above,
two tests , due to an attempt to allocate a large buffer in kernel two tests , due to an attempt to allocate a large buffer in kernel
space. space.
This is not actually an error or a failure, it is just trying to
allocate more memory than the kernel has available.
## Installation Instructions
-> This is not actually an error or a failure, it is just trying to Comple everything
allocate more memory than the kernel has available.
============================================================================== make
Installation Instructions: Compile the examples
-> Comple everything make examples
1 - make Run the server components with the helper script, like shown below:
-> Compile the examples ./init.sh <broker_endpoint>
2 - make examples Typically, one should choose the IPC transport method
for its faster than TCP. For instance:
-> Run the server components with a helper script ./init.sh ipc:///tmp/bpm/0
3 - ./init.sh Now we should be good to start making transactions.
-> Now we should be good to start making transactions. Change to the example applications folder
-> Change to the example applications folder
4 - cd examples cd examples
-> Run the Example application Run the Example application
5 - ./client -v ./client -v
-> Leds should be blinking in the FMC ADC board Leds should be blinking in the FMC ADC board
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment