Introduction
This How-To is intended for the members of the timing team. The data master is implemented using a PCIe PEXARIA2A module in an industrial PC. The PCIe module requires a dedicated gateware including a couple of lm32 softcores. Configuration and testing can be done via a few command line tools. For operation, an LSA interface will be implemented. Please note, that the DM can either be configure via command line or (=XOR) via LSA.
NB: Operating the Data Master from the command line is not recommended in the operation network!!!
Status as of end of August 2017.
- repo:
https://github.com/GSI-CS-CO/bel_projects.git
- branch:
cherry-dm-bugfix
- path: cd to
checkoutfolder/modules/ftm/ftmx86
- instructions for building the tools:
make
- info: requires boost 1.55 (tested, although 1.54 might also be fine). Eventually, you have to
- download manually
- build locally
- install locally
- then: build the tools via
make
- libraries. Something is weired with building the tool. Until this is fixed, one needs to set the LD_LIBRARY_PATH properly. Try s.th. like
//.../cherry-dm-bugfix/modules/ftm/lib:/usr/lib
Display and Status
Graphical
- one needs to run the tool
./render.sh
in the background
-
./dm-sched <eb device>
, generate simplified 'svg' file
-
./dm-sched <eb device> -s
, generate 'svg' file including meta nodes.
- view the file download.svg using a viewer with "autoupdate"
Text
-
./dm-cmd <eb device> status
, displays 'running' cores/theads
-
./dm-cmd <eb device> -v status
, displays all cores/threads
Schedules
Managing
-
./dm-sched <eb device> add <schedule dot>
, adds a schedule to a specific core (the core is specified in the dot file)
-
./dm-sched <eb device> remove <schedule dot>
, remove a schedule from a specific core
-
./dm-sched <eb device> clear
, use with care: this will interfere with other schedule or people working on the same Data Master
Example:
Start/Stop/Abort
Commands must be in dot file format.
-
./dm-cmd <eb device> -i <command dot>
, submit a command
It is easiest, to have specific dot files for various commands. Examples:
Kill all Worker Threads
-
./dm-cmd <eb device> -c <CPU number> abort 0xff
--
DietrichBeck - 04 Dec 2017