DCS FAQ: Difference between revisions

From ift
(New page: Category:DCS Detector Control System __TOC__ == General DCS board related questions == === What species of Linux i...)
 
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
[[Category:DCS]]
[[Detector Control System (DCS) for ALICE Front-end electronics | Detector Control System]]
[[Detector Control System (DCS) for ALICE Front-end electronics | Detector Control System]]


Line 13: Line 12:
=== I cant find common UNIX tools like diff on the DCS board ===
=== I cant find common UNIX tools like diff on the DCS board ===
The version of busybox included into the linux during the early days of the DCS board doesn't support commands like od, cmp and diff. An additional package contains those three programs. To install them
The version of busybox included into the linux during the early days of the DCS board doesn't support commands like od, cmp and diff. An additional package contains those three programs. To install them
* download the package [http://www.ift.uib.no/~kjeks/download/dcsboard-addon-0.1.tar.gz dcsboard-addon]
* download the package [http://web.ift.uib.no/~kjeks/download/dcsboard-addon-0.1.tar.gz dcsboard-addon]
* unzip it to the root (/) directory (the archive contains all necessary sub folders)
* unzip it to the root (/) directory (the archive contains all necessary sub folders)
* e.g. on the DCS board do
* e.g. on the DCS board do
  wget -P  /tmp/  http://www.ift.uib.no/~kjeks/download/dcsboard-addon-0.1.tar.gz
  wget -P  /tmp/  http://web.ift.uib.no/~kjeks/download/dcsboard-addon-0.1.tar.gz
  tar xzvf /tmp/dcsboard-addon-0.1.tar.gz -C /
  tar xzvf /tmp/dcsboard-addon-0.1.tar.gz -C /


Line 31: Line 30:


* The precompiled package<br>There is a precompiled package configured for <i>uclibc</i> and <i>/usr/local/arm/3.3.1</i>. The compiler has to be exactly at that place.  
* The precompiled package<br>There is a precompiled package configured for <i>uclibc</i> and <i>/usr/local/arm/3.3.1</i>. The compiler has to be exactly at that place.  
*# Download the [http://www.ift.uib.no/~kjeks/download/arm-uclibc-3.3.1-toolchain.tar.bz2 package].
# Download the [http://web.ift.uib.no/~kjeks/download/arm-uclibc-3.3.1-toolchain.tar.bz2 package].
*# Create a folder /usr/local/arm on your build machine or ask your system administrator to do it for you and give you write access.  
# Create a folder /usr/local/arm on your build machine or ask your system administrator to do it for you and give you write access.  
*# Unpack the package
# Unpack the package
tar xvjkf arm-uclibc-3.3.1-toolchain.tar.bz2 -C /usr/local/arm
#: <pre>tar xvjkf arm-uclibc-3.3.1-toolchain.tar.bz2 -C /usr/local/arm</pre>
 
# Install the gcc from scratch and configure it for arm linux. There is a helper script on the [http://frodo.nt.fh-koeln.de/%7Etkrawuts/dcs.html DCS board Arm Linux] page.
* Install the gcc from scratch and configure it for arm linux. There is a helper script on the [http://frodo.nt.fh-koeln.de/%7Etkrawuts/dcs.html DCS board Arm Linux] page.


In both cases you must add the compilers's binary directory to your search path. For the first it is <i>/usr/local/arm/3.3.1/bin</i>, e.g.
In both cases you must add the compilers's binary directory to your search path. For the first it is <i>/usr/local/arm/3.3.1/bin</i>, e.g.
Line 46: Line 44:


=== How can I copy the executable to the DCS board? ===
=== How can I copy the executable to the DCS board? ===
<b>scp <filename> root@<address of the board>:/tmp</b><br>
scp <filename> root@<address of the board>:/tmp
This will place the file in the /tmp directory of the board. The better solution is to mount a network directory. Note that the /tmp directory on the board is erased each time it boots since it is not located in the flash ram.
This will place the file in the /tmp directory of the board. The better solution is to mount a network directory. Note that the /tmp directory on the board is erased each time it boots since it is not located in the flash ram.


Line 73: Line 71:


=== How can I connect to the DCS board from a Windows computer by using the serial line? ===
=== How can I connect to the DCS board from a Windows computer by using the serial line? ===
First of all you need to have the proper serial line connector cable [http://www.kip.uni-heidelberg.de/ti/DCS-Board/current/mechanic/RS232cable01.gif Schematics]. In one side of the connector there is a small red dot. This should be connected to the connector on the short egde next to the ttc-fiber connector. Connect it to a free com-port on your pc.<br>
First of all you need to have the proper serial line connector cable [http://www.kip.uni-heidelberg.de/ti/DCS-Board/current/mechanic/RS232cable01.gif Schematics]. In one side of the connector there is a small red dot. This should be connected to the connector on the short egde next to the ttc-fiber connector. Connect it to a free com-port on your pc.
In windows use 'hyperterminal' with the following settings: <br>
In windows use 'hyperterminal' with the following settings:
''Baud Rate:'' 57600<br>
Baud Rate:   57600
''Data Bits:'' 8<br>
Data Bits:   8
''Parity:'' None<br>
Parity:       None
''Stop Bits:'' 1<br>
Stop Bits:   1
''Flow Control:'' None
Flow Control: None


== InterComLayer related questions ==
== InterComLayer related questions ==
Line 92: Line 90:
== rcu shell related questions ==
== rcu shell related questions ==
The sections will be filled as the questions come in
The sections will be filled as the questions come in
[[Category:DCS]]

Latest revision as of 14:16, 15 April 2010

Detector Control System

General DCS board related questions

What species of Linux is running on the DCS board?

The Linux on the DCS board is a compilation of several projects suited for embedded systems

I cant find common UNIX tools like diff on the DCS board

The version of busybox included into the linux during the early days of the DCS board doesn't support commands like od, cmp and diff. An additional package contains those three programs. To install them

  • download the package dcsboard-addon
  • unzip it to the root (/) directory (the archive contains all necessary sub folders)
  • e.g. on the DCS board do
wget -P  /tmp/  http://web.ift.uib.no/~kjeks/download/dcsboard-addon-0.1.tar.gz
tar xzvf /tmp/dcsboard-addon-0.1.tar.gz -C /

Can I compile programs on the DCS board?

No, the Linux on the DCS board is a light-weight operating system which just provides the environment to run programs. Of course, this could be a compiler, but this doesn't make sense. One uses a cross compiler on another system to build the executables.

What is a cross compiler?

Cross compiling means to compile and build on a build system which is different from the system the program has to run on. Each cpu architecture has its own instruction set, binary format aso. The compiler translates the program source code into machine code for a certain architecture. Most embedded systems (like the one on the DCS board) don't provide fully functional operating systems. The use of a cross compiler is a convenient tool to create executables on another workstation.

The Arm Linux on the DCS board uses gcc 3.3.1 configured for arm-uclibc.

How do I install a cross compiler and use it?

The Arm Linux on the DCS board is compiled with gcc 3.3.1 and uses uclibc as standard library. This page gives just a short recipe for the installation. For further details look at the DCS board Arm Linux page. To install the compiler you have two possibilities:

  • The precompiled package
    There is a precompiled package configured for uclibc and /usr/local/arm/3.3.1. The compiler has to be exactly at that place.
  1. Download the package.
  2. Create a folder /usr/local/arm on your build machine or ask your system administrator to do it for you and give you write access.
  3. Unpack the package
    tar xvjkf arm-uclibc-3.3.1-toolchain.tar.bz2 -C /usr/local/arm
  4. Install the gcc from scratch and configure it for arm linux. There is a helper script on the DCS board Arm Linux page.

In both cases you must add the compilers's binary directory to your search path. For the first it is /usr/local/arm/3.3.1/bin, e.g.

# c-shell
setenv PATH ${PATH}:/usr/local/arm/3.3.1/bin
# or
# bash
export PATH=${PATH}:/usr/local/arm/3.3.1/bin

How can I copy the executable to the DCS board?

scp <filename> root@<address of the board>:/tmp

This will place the file in the /tmp directory of the board. The better solution is to mount a network directory. Note that the /tmp directory on the board is erased each time it boots since it is not located in the flash ram.

Where are all the files from the /tmp directory after reboot

You should not place any files you want to keep in the /tmp folder since this is areased after reboot.

How do I mount a network directory on the DCS board?

This is two-fold. An extern machine has to provide the directory and the DCS board has to mount it.

  1. The server, can be any Linux machine the board has access to
    Usually you need root access to configure the server.
    • nfs deamon has to run on the host machine
      • start nfs service: /sbin/service nfs start
      • stop nfs service: /sbin/service nfs stop
      • status information: /sbin/service nfs status
    • configure the allowed export directories in /etc/exports, e.g. with a line like
      /nfs_export/dcscard dcs0034(rw)
      the directory '/nfs_export/dcscard' can be mounted by the machine 'dcs0034' in read-write mode
    • finally after altering /etc/exports you might have to run exportfs -a in order to update the list of NFS exported file systems
  2. The client, i.e. the DCS board
    • create a directory /mnt if it does not exist
    • use the command /usr/local/sbin/nfsmount to mount the network directory, e.g.
      /usr/local/sbin/nfsmount <host>:/nfs_export/dcscard /mnt rw
    • Of course you can name the mountpoint on the DCS board whatever you want

I can not write to my network directory

check if

  • the server allows write access (/etc/exportfs)
  • the DCS board mounts the network disc in read-write mode
  • the permissions for the directory on the server allow write access, keep in mind that the applications on the DCS board are running under a different user than usually you are on the host machine, and thus 'others' have to have write access

How can I connect to the DCS board from a Windows computer by using the serial line?

First of all you need to have the proper serial line connector cable Schematics. In one side of the connector there is a small red dot. This should be connected to the connector on the short egde next to the ttc-fiber connector. Connect it to a free com-port on your pc. In windows use 'hyperterminal' with the following settings:

Baud Rate:    57600
Data Bits:    8
Parity:       None
Stop Bits:    1
Flow Control: None

InterComLayer related questions

What is the InterComLayer?

Where do I have to install/run the InterComLayer?

What tools can I use to monitor the DIM framework?

FeeServer related questions

What is a FeeServer?

What is the ControlEngine?

rcu shell related questions

The sections will be filled as the questions come in