Pixel-ROD-Crate-Controller(Pxl-RCC) @ CPPM

Atlas

Pxl-RCC VMEdriver Installation

Atlas

Recipe for installing the RCC VME driver

received from Paolo; April 16th, 2004
For the installation of the binaries you can look at
http://atddoc.cern.ch/releases/df/download/DF-00-08-00/
I think you should take DF-00-08-00 even if we are still using DF-00-07-00; from the point of view of VME there should be no difference.
Once the installation and the setup is ok (see
http://atddoc.cern.ch/cmt/releases/df/setup-00-07-00.html
) you should:
  1. copy the following files:
    vme_rcc-.o
    cmem_rcc-.o
    io_rcc-.o
    from $DF_INSTALL_PATH/i686-rh73-gcc32-opt/lib to /lib/modules/daq/
  2. copy
    vmeconfig
    from $DF_INSTALL_PATH/i686-rh73-gcc32-opt/bin to /lib/modules/daq/
  3. copy
    drivers_rcc
    from <dataflowdir>/vme_rcc/v<xxxxx>/src/driver to /etc/rc.d/init.d
  4. copy
    vmetab
    from <dataflowdir>/vme_rcc/v<xxxxx>/src/test to /lib/modules/daq
  5. execute
    /sbin/chkconfig --add drivers_rcc
    /sbin/chkconfig drivers_rcc on
    /sbin/service drivers_rcc start
At this point the drivers should be installed and you should be able to dump the vme status using
cat /proc/vme_rcc
or using the utility cctscope in $DF_INSTALL_PATH/i686-rh73-gcc32-opt/bin
You still need a correct configuration of the VME; in particular you have to create a master map covering the address range 0x0000'0000..0x2000'0000. Do
cd /lib/modules/daq
vmeconfig -i vmetab
and follow the menu option 4 [Set master map decoder] and enter the following parameters:
0 [Enter number of map decoder]
1 [Enable map decoder: yes]
0x0 [Select VMEbus base address]
0x90000000 [Select PCI base address]
0x20000000 [Select the window size (bytes)]
0 [Select Write posting: no]
2 [Select address space: A32]
0 [Select cycle type: User]
0 [Select cycle type: Data]
then options 16 [Update Universe registers] and 17 [Exit and save].
Running cctscope, options 2 [Decode VME registers] + 2 [Decode master mapping] should yield the following description
=======================================================================================
LSI  VME address range  PCI address range   EN   WP  VDW  VAS     AM    Type PCI space
  0  00000000-20000000  90000000-b0000000  Yes   No  D32  A32     UD      SC PCI MEM
  1  00000000-00000000  00000000-00000000   No   No  D32  A32     UD      SC PCI MEM
  2  00000000-00000000  00000000-00000000   No   No  D32  A32     UD      SC PCI MEM
  3  00000000-00000000  00000000-00000000   No   No  D32  A32     UD      SC PCI MEM
  4  00000000-ffffffff  00000000-ffffffff   No   No  D32  A32     UD      SC PCI MEM
  5  00000000-00000000  00000000-00000000   No   No  D32  A32     UD      SC PCI MEM
  6  00000000-00000000  00000000-00000000   No   No  D32  A32     UD      SC PCI MEM
  7  00000000-00000000  00000000-00000000   No   No  D32  A32     UD      SC PCI MEM
=======================================================================================

Remarks, Comments

"DF" package installation requires the "online" package installation. It is not clear to me, if this is also a prerequisite, if you only want to use the VME and memory driver codes in of DF.

$DF_INSTALL_PATH is usually <dataflowdir>/installed.

The standard CERN DF distribution contained only (incompatible) binary versions for the CERN-SMP kernels! Andrei Kazarov promised to repair this (Apr 19th, 2004). The workaround recipe goes as follows:
If you want to rebuild packages yourself, please consult
    http://atddoc/cmt/releases/df/
or simply to the following:
  - set up DF-00-08-00 release
  - check-out and configure all needed packages in a working area
  - in cmt directory of each package (hopefully there are few of them),
    say "gmake && gmake install"
then you'll have all code under "installed" directory

in other owrds, just follow the typical developers cycle, being on a
machine with desired kernel.

Let us know, if these recipes works or you want to suggest improvements.
(Paolo.Morettini@ge.infn.it, Hoffmann@cppm.in2p3.fr)


Created: April 2004; last updated: April 2004