Control software M. Sozzi Pisa - January 30/31, 2014.

Slides:



Advertisements
Similar presentations
TEL62 firmware live kick-off meeting Mainz September 2011.
Advertisements

9.0 EMBEDDED SOFTWARE DEVELOPMENT TOOLS 9.1 Introduction Application programs are typically developed, compiled, and run on host system Embedded programs.
DCM Embedded Software Infrastructure, Build Environment and Kernel Modules A.Norman (U.Virginia) 1 July '09 NOvA Collaboration Mtg.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.1 Module 6 Switch Configuration.
Presenter : Chien-Hung Chen Tsung-Cheng Lin Kuan-Fu Kuo EICE team Open On-Chip Debugger Ch6. Design and Architecture.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
Interpret Application Specifications
CCNA 2 v3.1 Module 2.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
LAV firmware status Francesco Gonnella Mauro Raggi 23 rd May 2012 TDAQ Working Group Meeting.
Shell and Flashing Images Commands and upgrades. RS-232 Driver chip – ST3232C Driver chip is ST3232C Provides electrical interface between UART port and.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Lesson 4 Computer Software
Chapter 3 Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Status of the digital readout electronics Mauro Raggi and F. Gonnella LNF Photon Veto WG CERN 13/12/2011.
How Hardware and Software Work Together
SOFTWARE.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Gregory PawloskiAugust 22, 2002 MPC Testing Progress.
UNIX Commands. Why UNIX Commands Are Noninteractive Command may take input from the output of another command (filters). May be scheduled to run at specific.
QuikTrac 5.5, a validated Motorola Software Solution, allows you to take your Host ERP screens and extend them out to fixed or mobile devices including.
Local Trigger Unit (LTU) status T. Blažek, V. Černý, M. Kovaľ, R. Lietava Comenius University, Bratislava M. Krivda University of Birmingham 30/08/2012.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 2 Module 2 Introduction to Routers.
RPC Trigger Software. Michał Pietrusiński Hardware setup VME Bit3 Controller Link Board 1Link Board 2Link Board 3Link Board 4 Trigger Board Pattern Unit.
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
Mark E. Fuller Senior Principal Instructor Oracle University Oracle Corporation.
Overview, remarks, lamentations, hope and despair M. Sozzi TDAQ WG meeting CERN - 4 June 2013 Introduction, news and appetizer.
Manage Directories and Files in Linux Part 2. 2 Identify File Types in the Linux System The file types in Linux referred to as normal files and directories.
TEL62 status and plans Elena Pedreschi INFN-Pisa Thursday 08 September 2011 TDAQ WG Meeting at Mainz University.
Field Programmable Port Extender (FPX) 1 NCHARGE: Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied.
Clara Gaspar, December 2012 Experiment Control System & Electronics Upgrade.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
TELL1 command line tools Guido Haefeli EPFL, Lausanne Tutorial for TELL1 users : 25.February
March 7th 2005 Stefan Koestner LHCb week ECS-tools for the CCPC/Tell1 (a tutorial in 3 acts): (1) CCPC/PVSS Interface: - few comments on the server - quick.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
Lecture 02 File and File system. Topics Describe the layout of a Linux file system Display and set paths Describe the most important files, including.
1 1999/Ph 514: Supported Hardware EPICS Supported Hardware Ned D. Arnold APS.
October Test Beam DAQ. Framework sketch Only DAQs subprograms works during spills Each subprogram produces an output each spill Each dependant subprogram.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Clara Gaspar on behalf of the ECS team: CERN, Marseille, etc. October 2015 Experiment Control System & Electronics Upgrade.
Commands 3/1/ Boot PROM Fundamentals All Sun systems have resident boot PROM firmware Provides basic hardware testing and initialization prior.
Mu2e NA62 TEL62 & TDCB repairs Radiation effects in TEL62 Franco Spinella 16/12/2015.
1 Status of Validation Board, Selection Board and L0DU Patrick Robbe, LAL Orsay, 19 Dec 2006.
Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research.
TDAQ news and miscellaneous reports M. Sozzi NA62 TDAQ WG meeting CERN – 13/7/2011.
SL-PGA firmware overview M. Sozzi Pisa - January 30/31, 2014.
TDC/TEL62 update M. Sozzi NA62 TDAQ WG meeting Bruxelles – 9/9/2010.
Installing VERITAS Cluster Server. Topic 1: Using the VERITAS Product Installer After completing this topic, you will be able to install VCS using the.
Wouter Verkerke, NIKHEF 1 Using ‘stoomboot’ for NIKHEF-ATLAS batch computing What is ‘stoomboot’ – Hardware –16 machines, each 2x quad-core Pentium = 128.
Embedded Real-Time Systems Introduction to embedded software development Lecturer Department University.
​ TdBench 7.2 – tdb.sh Utility Script. 2 Created for TdBench 7.x release to consolidate tools Open architecture – looks for scripts in the./tools directory.
Software for tests: AMB and LAMB configuration - Available tools FTK Workshop – Pisa 13/03/2013 Daniel Magalotti University of Modena and Reggio Emilia.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Preparing software for LTU T.Blažek, V.Černý, M.Krivda, R.Lietava, M.Mojžiš Bratislava, Birmingham TDAQ working group meeting, CERN, March 24,
Welcome to TEL62 workshop M. Sozzi Pisa - January 30/31, 2014.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
Advanced Computing Facility Introduction
cFS Platforms OSAL and PSP
Featured Enhancements to the IDE & Debugger
CASE STUDY 1: Linux and Android
Module 4 Remote Login.
Chapter 2: System Structures
Washington University, Applied Research Lab
Remote Management of the Field Programmable Port Extender (FPX)
Presentation transcript:

Control software M. Sozzi Pisa - January 30/31, 2014

The firmware is to be controlled – initialized – monitored from the CCPC (access during data taking possible) Use only low-level libraries from LHCb (JTAG, glue, I2C, …) with frozen source code Command-line control program (with scripting and macros) made available by Pisa: - tightly linked to firmware version - to be customized for sub-detector firmware versions - to be used both for test/monitoring and real data-taking - initialization via XML files Scientific Linux version: to be frozen TEL62 firmware loading requires JAM-file player: existing LHCb version not working: to be solved – Perugia Software Mainz 2011

Low-level libraries i2clib.c gluelib.c lblib.c fproglib.c jtaglib.c jamlib.c I2C handling (LHCb) Glue card handling (LHCb) Local bus handling (LHCb) EPROM programming (LHCb) → NA62 modified JTAG handling (LHCb) → NA62 modified JAM file handling (LHCb) → NA62 modified JBI file handling (LHCb) → NA62 modified Futex implementation (CERN) jbilib.c exclulib.c

Low-level commands Some standalone (LHCb-provided) utilities are installed together with the libraries, such as: lbread lbwrite for writing to TEL62 local bus (e.g. FPGAs) jtagscan to identify JTAG devices on TEL62 EPC16Handling to load a firmware (pof) file (on TELL1 EEPROM only)

tel62.h tel62lib.c tdc.h tdclib.c tel62tab.ctdctab.c td.h tdlib.c tdspy.c tdmsgdef.c tdspycom.h tdspytab.c tdspyreq.c tdtab.c tdtabcomplete.c tdsys.h tdspy.h tdxml.h tdspyreq.h tdspycomlib.c tdsyslib.c tdxmllib.c tdcode software suite (NA62) Completely written in standard C ~44K lines of code

tel62.h tel62lib.c tdc.h tdclib.c tel62tab.ctdctab.c td.h tdlib.c tdspy.c tdmsgdef.c tdspycom.h tdspytab.c tdspyreq.c tdtab.c tdtabcomplete.c tdsys.h tdspy.h tdxml.h tdspyreq.h tdspycomlib.c tdsyslib.c tdxmllib.c tdcode software suite (NA62) Completely written in standard C ~44K lines of code Core functions

tel62.h tel62lib.c tdc.h tdclib.c tel62tab.ctdctab.c td.h tdlib.c tdspy.c tdmsgdef.c tdspycom.h tdspytab.c tdspyreq.c tdtab.c tdtabcomplete.c tdsys.h tdspy.h tdxml.h tdspyreq.h tdspycomlib.c tdsyslib.c tdxmllib.c tdcode software suite (NA62) Completely written in standard C ~44K lines of code TEL62 board specific code TDC board specific code

tel62.h tel62lib.c tdc.h tdclib.c tel62tab.ctdctab.c td.h tdlib.c tdspy.c tdmsgdef.c tdspycom.h tdspytab.c tdspyreq.c tdtab.c tdtabcomplete.c tdsys.h tdspy.h tdxml.h tdspyreq.h tdspycomlib.c tdsyslib.c tdxmllib.c tdcode software suite (NA62) Completely written in standard C ~44K lines of code System (TEL62+TDCB) functions

tel62.h tel62lib.c tdc.h tdclib.c tel62tab.ctdctab.c td.h tdlib.c tdspy.c tdmsgdef.c tdspycom.h tdspytab.c tdspyreq.c tdtab.c tdtabcomplete.c tdsys.h tdspy.h tdxml.h tdspyreq.h tdspycomlib.c tdsyslib.c tdxmllib.c tdcode software suite (NA62) Completely written in standard C ~44K lines of code TDSPY interactive program code

tel62.h tel62lib.c tdc.h tdclib.c tel62tab.ctdctab.c td.h tdlib.c tdspy.c tdmsgdef.c tdspycom.h tdspytab.c tdspyreq.c tdtab.c tdtabcomplete.c tdsys.h tdspy.h tdxml.h tdspyreq.h tdspycomlib.c tdsyslib.c tdxmllib.c tdcode software suite (NA62) Completely written in standard C ~44K lines of code TDSPY default printout functions

tel62.h tel62lib.c tdc.h tdclib.c tel62tab.ctdctab.c td.h tdlib.c tdspy.c tdmsgdef.c tdspycom.h tdspytab.c tdspyreq.c tdtab.c tdtabcomplete.c tdsys.h tdspy.h tdxml.h tdspyreq.h tdspycomlib.c tdsyslib.c tdxmllib.c tdcode software suite (NA62) Completely written in standard C ~44K lines of code TDSPY remote control code

tel62.h tel62lib.c tdc.h tdclib.c tel62tab.ctdctab.c td.h tdlib.c tdspy.c tdmsgdef.c tdspycom.h tdspytab.c tdspyreq.c tdtab.c tdtabcomplete.c tdsys.h tdspy.h tdxml.h tdspyreq.h tdspycomlib.c tdsyslib.c tdxmllib.c tdcode software suite (NA62) Completely written in standard C ~44K lines of code XML configuration code

TDSPY is the interactive control program for the tdcode suite Command-line driven console program running on the TEL62 CCPC under Linux No GUI Quite flexible control allowing - scripting - user macro definition - remote control Some commands are tightly linked to the firmware version It still changes almost daily without any notice TDSPY program

Meant to be the unique access point to the hardware, for - board development - board testing - expert debugging - standard user control - hardware configuration and database interaction - operation during data-taking (under run control) Tdspy use tdspy Run control Other process (ssh) pipe/socket DIM

Na62tdaq contains: TDCC firmware TEL62 firmware tdcode software suite w. scripts some utilities How to use it: Create a CERN service account such as “na62to”, “na62bham”, etc. Ask Pisa to create a new (empty) sub-detector firmware structure (if needed) Ask for access (Read-)accessible from browser via WebSVN SVN

Compile on the server (much faster), currently SLC4 Current quirk (to be fixed): su chroot /opt/ccpc/root cd make chown cc:na62 tdspy prompt>tdspy Floating point exception → You did not do the above Compilation

[tel62-10] /home> tdspy -h TDSpy: TDAQ control program Usage: tdspy [-f ][-l ][-u ][-d [-b] [-o[ ]] [-p[ ]] [-s[ ]]] -f : alternate startup file (default tdstart.spy) -l : alternate log file (default tdspy.log) -u : alternate users file (default tdspy.usr) -d : daemon mode -b : blocking (for daemon mode) -o : output file name (for daemon mode) -p : pipe mode and name (for daemon mode) -q : quiet mode (for daemon mode) -s : socket mode and port (for daemon mode) Invocation

[IDLE]TDSpy>help Use help for individual command usage. for file input, ! for recall. A dot (.) terminates most interactive commands. In most commands 99 stands for ALL and a list such as n1,n2-n3 is allowed. Macro definitions need () and optional formal arguments of the form % ; definition ends with a dot line. automask mask non-responsive daughter-cards boardinfo show TEL62 information boardinitialize reset and initialize TEL62 boardreload reload all TEL62 devices... Online help

[IDLE]TDSpy>help ppwrite ppwrite [ ] [ ] write PP-FPGA register id: PP-FPGA id tag: PP-FPGA register val: Value (hex) nloc: Number of locations first: First location (hex) Command (and register, memory, etc.) completion using Online command help

The basic abstracted action is reading/writing into «registers»: - actual hardware registers - bit fields in hardware registers - FIFOs - memories This can actually happen through the local bus, I2C (for registers in the TDCB), JTAG (for internal HPTDC registers), Intel bus (for GbE MAC registers) etc., with direct or indirect addressing, bit masking, single or multiple accesses etc. (all this is hidden from the user) Most command names start with the target: e.g. ppwrite (PP-FPGA), slread (SL-FPGA), tdccstatus (TDC controller FPGA), tdcdump (TDC chip), ttcrxinfo (TTCrx chip), ddrtest (DDR memory), gbeinfo (GbE card), portmask (GbE port) Commands can have both mandatory and optional arguments (easy mode). 99 usually stands for “all” devices of a kind Some tdspy concepts

A single PP register TDSPY>ppwrite 2 CONTROL 0x10 TDSPY>ppwrite 2 FREEZE 1 Reserved means reserved!

Some «setup» variables can change the way the program works setup e.g. verbose, debug (control level of printing), cwd (directory in which to look for files), echo (write commands to screen), log (log commands to a file) A script file (ASCII text) can be executed User macros (with variables) can be defined with macro (a,b) More tdspy concepts

automask check hello setup shell tdccemudump tdcdecode, ttcrxdecode users Some little known commands

DIM (from run control): compile with –DDIM launch with –c send commands via DIM Pipe/socket: launch with –d –s (for socket) send commands by: - Using tdtalk standalone program - Using the API provided in tdspycom.h and tdspycomlib within your code Remote communication

Eventually all hardware should be configured through XML files (from online database) Common routines for XML file handling are under development: For each «object» (PP, TDC, etc.) one needs: - a routine to actually load constants to hardware - a routine to read constants from hardware (eventually generating a new XML file for the database) Not ready yet Hardware configuration

XML/configuration code Default hardcoded init-start-end routines Fix cross-compilation quirk Prepare NA62 RPMs (w. NA62-improved JTAG libs) Migrate to SLC5-6 More test functions Hardware access locking during run Hardware status reporting function (to run control) User privilege levels EOB data debugging functions Burst report loop function More automatic check functions... Todo

Public standalone data reading PC program Complete NA62-aware Wireshark module... More todo