Contents

I. INRODUCTION.. 3

1. Development. 3

2. Code Management. 3

3. TDAQ SW Organization. 3

3.1. Version info. 3

3.2. Include Files: 3

3.3. Libraries: 4

3.4. Binaries: 4

3.5. Drivers: 4

3.6. Scripts: 4

4. TDAQ Configuration binaries. 4

4.1. Single Machine Configuration. 4

4.2. Cluster Configuration. 4

TDAQ files: 5

VME Tabs: 5

U-Boot. 5

Fpga. 5

5. Test. 5

II. DAQ HW... 6

1. ATLAS HW Organization. 6

2. VME Bus. 6

2.1. VME Bus Hardware. 6

2.2. VME Configuration tools. 6

2.2.1.1. scanvme. 6

III. TDAQ SW... 7

1. Drivers. 7

1.1 Main Drivers. 7

1.2. 32-64 bit versions. 7

1.3 Driver Configurations. 7

2. TDAQ-API 7

III. DEVELOPMENT. 8

1. Driver Development. 8

a. Setting up Development Machine. 8

b. Check out and build Source. 9

c. Committing Changes. 9

2. API Development. 10

a. Setting Up Build Environment. 10

b. Checking Out and Building API 10

c. Committing Changes. 10

IV. DEPLOYMENT. 11

1) Syncing Drivers with tdaq repo (Netboot Boot). 11

2) Setting Up for (HDD Boot). 11

V. Configuration and TDAQ Tools. 12

1. VME Configuration: 12

1.1. scanvme. 12

1.2. scanvme_tsi 12

1.3. vme_peek. 12

1.4. vme_poke. 12

vme_rcc_interrupt_loop. 12

vme_rcc_interrupt_test. 12

vme_rcc_test. 12

vme_rod_emul_test. 12

vmeconfig. 12

vmetrig_dump. 12

vmetrig_test1. 12

VI. Testing. 12

I. INRODUCTION

To do :Write sth about Introductory stuff why software development for ATLAS is so important. etc

1. Development

To do :Write sth about the development process of atlas SW.

2. Code Management

To do :Write sth about How Code how the SW is distributed from a Central SVN server to Endpoints.

3. TDAQ SW Organization

3.1. Version info

/afs/cern.ch/atlas/project/tdaq/cmt/tdaq/tdaq-<tdaq version>/

/afs/cern.ch/atlas/project/tdaq/cmt/tdaq/tdaq-05-02-00/installed

3.2. Include Files:

/afs/cern.ch/atlas/project/tdaq/cmt/tdaq/tdaq-05-02-00/installed/include/vme_rcc

3.3. Libraries:

/afs/cern.ch/atlas/project/tdaq/cmt/tdaq/tdaq-05-02-00/installed/x86_64-slc6-gcc47-opt/lib

3.4. Binaries:

/afs/cern.ch/atlas/project/tdaq/cmt/tdaq/tdaq-05-02-00/installed/x86_64-slc6-gcc47-opt/bin

3.5. Drivers:

Driver Paths:

/sw/tdaq/drivers/drivers/

drivers-<Driver Version>

Ex: drivers-05-02-00-i386/ drivers-05-02-00-x86_64/

/sw/tdaq/drivers/drivers-05-02-00-i386/tdaq-release-inst/x86_64-slc6-gcc47-opt

tdaq-release-inst -> /afs/cern.ch/atlas/project/tdaq/cmt/tdaq/tdaq-05-02-00/installed

3.6. Scripts:

/sw/tdaq/drivers/scripts/

Setup Scripts:

/sw/atlas/tdaq/tdaq-05-01-00/installed/setup.sh

4. TDAQ Configuration binaries

TDAQ Computers are classified as single Machines and Clusters therefore 2 types of configuration **

4.1. Single Machine Configuration

/clients/daq_area/daq-drivers/clients-configs

4.2. Cluster Configuration

/clients/daq_area/daq-drivers/cluster-configs

TDAQ files:

VME Tabs:

/clients/daq_area/detectors/lnxpool/vmetab

U-Boot

/sw/atlas/tdaq/tdaq-04-00-01/installed/share/data/robin_ppc/u-boot_vhdl4_c440.bin

Fpga

/installed/share/data/robin_ppc/df_core_rev040a300d.bit

5. Test

To do :Write sth about how ATLAS SW is tested…

Atlas Read Out System (ROS) Code Management system has four test stages:

1) Nightly: these are automatic builds that is built from the current code base.

2) TEST BED: when the nightly builds are satisfactory enough they are injected into code versioning and tested on the test bed located at building 4.

3) PRE-RUN:

4) DETECTOR:

II. DAQ HW

1. ATLAS HW Organization

2. VME Bus

2.1. VME Bus Hardware

2.1.1. What is VME bus?

2.1.2. VME Bus Types

2.1.3.

2.2. VME Configuration tools

2.2.1.1. scanvme

2.2.1.2. vmeconfig & tsiconfig

2.2.1.3.

III. TDAQ SW

To do :Write sth about the Driver level and User level code.

1. Drivers

1.1 Main Drivers.

To do :Write sth about drivers and tell what they do in detail

1.1.1 Cmem_rcc:

Cmem_rcc is responsible for allocating Contiguous memory blocks needed by driver buffers etc…

Include files

Cmem.h

xxx.h

yyy.h

Dependencies

none

Configurations

X86,x64

Source Files

cmem_rcc.c

Dependants

(who depends on this drv)

Vme_rcc

Vme_rcc_tsi

Etc…

1.1.2 Filar:

1.1.3 IO_rcc:

1.1.4 VME_rcc:

1.1.5 Solar:

1.1.6 Quest:

1.1.7 Robin:

1.2. 32-64 bit versions

Machine type

32-bit

64-bit

VME

vme_rcc

vme_rcc_tsi

I/O

io_rcc

io_rcc

CMEM

Cmem_rcc

Cmem_rcc

1.3 Driver Configurations

a) x84

b) x64

2. TDAQ-API

III. DEVELOPMENT

1. Driver Development

a. Setting up Development Machine

1) Create a Directory Named “DAQ” under home folder.

2) Create a Directory Named “DataFlow” under DAQ folder.

3) Create a Directory Named “cmt” under DataFlow folder.

4) Copy script “setupDAQ_bash” to your home folder.

5) Add aliases to the “.bashrc” file and resource as: “go<version><d:debug|o:optimized>

alias cmt0='cmt config'

alias cmt1='source setup.sh'

alias go401d='source setupDAQ_bash 401d'

alias go401o='source setupDAQ_bash 401o'

alias go40164d='source setupDAQ_bash 40164d'

alias go40164o='source setupDAQ_bash 40164o'

alias govme='source setupDAQ_bash vme'

alias go40164o='source setupDAQ_bash 40164o'

alias gonigd='source setupDAQ_bash nigd'

alias gonigo='source setupDAQ_bash nigo'

alias gomaxo='source setupDAQ_bash maxo'

alias gomaxd64='source setupDAQ_bash maxd64'

alias gonig64d='source setupDAQ_bash nig64d'

alias gonig64o='source setupDAQ_bash nig64o'

alias goslc664='source setupDAQ_bash slc664'

alias go500d='source setupDAQ_bash 500d'

alias go510d='source setupDAQ_bash 510d'

alias go501d='source setupDAQ_bash 501d'

alias go50164='source setupDAQ_bash 50164'

alias go51064='source setupDAQ_bash 51064'

alias go50064d='source setupDAQ_bash 50064d'

alias go500645d='source setupDAQ_bash 500645d'

b. Check out and build Source

** Requirements file in cmt dir*

1) Run getpkg to check out latest sources.

/afs/cern.ch/atlas/project/tdaq/cmt/bin/getpkg DAQ/DataFlow/ROSRCDdrivers.

2) Type go<version> for setting up Build Environment Variables Automatically

Ex: go401

3) Go into

/DAQ/DataFlow/ ROSRCDdrivers/cmt/

4) Configure CMT by typing,

cmt0

5) Configure

cmt1

6) Go to cmt directory where the build configurations are stored.

/DAQ/DataFlow/ROSRCDdrivers/cmt

7) In order to start build, type

make

Propositions:

1) Need a public ftp site in order to store files in “public/Murat”

2) Create an Environment Variable like $ATLAS_DRV_REPO_HOME and change the paths at setupDAQ_bash script with using that.

3) Changing the names of *.cmt files to TestBed.cmt, ATLAS.cmt, PreRun.cmt etc…

4) An auto script for updating new version info. Building directories etc…

5)

Kernel

32

64

2.6.32-431.3.1

vm-tbed-npae6

pc-tbed-pub-16

c. Committing Changes

2. API Development

/afs/cern.ch/atlas/project/tdaq/cmt/tdaq/nightly/

a. Setting Up Build Environment

b. Checking Out and Building API

c. Committing Changes

IV. DEPLOYMENT

1) Syncing Drivers with tdaq repo (Netboot Boot)

  • Note you have to be in tdaqsw group.
/daq_area/tools/bin

sudo ./sync_tbed_drivers -s 05.02.00/64bit/ drivers-05-02-00-x86_64/

sudo ./sync_tbed_drivers -s 05.02.00/32bit/ drivers-05-02-00-i386/

ln -s /afs/cern.ch/atlas/project/tdaq/cmt/tdaq/tdaq-05-02-00/installed tdaq-release-inst

2) Setting Up for (HDD Boot)

  • Self Note : Create a public tar file or ATLAS directory

Create a Directory Named ATLAS at root:

# mkdir /ATLAS

Go to the Directory where the ATLAS directory is

# cd “Path to ATLAS Directory”

Copy All files to /ATLAS Directory...

# cp –a ./ATLAS/* /ATLAS

#cp /ATLAS/script/drivers_tdaq /etc/init.d/

#cd /etc/rc5.d/

# ln –s /etc/init.d/drivers_tdaq S98driverst_daq

# cd /etc/init.d/

#./drivers_tdaq start

Change environment variables in /etc/init.d/drivers_tdaq script

export DRIVER_PATH=/ATLAS/driver

export LD_LIBRARY_PATH=/ATLAS/lib

export BINARY_PATH=/ATLAS/bin

export VMETAB_PATH=.

  • Prop: rename *PATH s as ATLAS_*_PATH

V. Configuration and TDAQ Tools

1. VME Configuration:

1.1. scanvme

1.2. scanvme_tsi

1.3. vme_peek

1.4. vme_poke

vme_rcc_interrupt_loop

vme_rcc_interrupt_test

vme_rcc_test

vme_rod_emul_test

vmeconfig

vmetrig_dump

vmetrig_test1

VI. Testing

TDAQ Test tools

//----------------------------------------

Default VME Tab:

"/daq_area/detectors/tbed/vmetab/tbed110_401_irq"

A16: All

A24 All

A32: 256MB

CRICSR: ALL

//-------------------------------------------------

-- MuratBilen - 06 Mar 2014

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2014-03-06 - MuratBilen
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback