DCM Embedded Software Infrastructure, Build Environment and Kernel Modules A.Norman (U.Virginia) 1 July '09 NOvA Collaboration Mtg.

Slides:



Advertisements
Similar presentations
Managing Cisco IOS Software. Overview The router boot sequence Locating IOS software The configuration register Recovering Passwords Backing Up the Cisco.
Advertisements

PC bootup Presented by: Rahul Garg (2003CS10183) Rajat Sahni (2003CS10184) Varun Gulshan(2003CS10191)
Operating-System Structures
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
Introduction to Kernel
Porting Plan 9 to the PowerPC Architecture Ian Friedman Ajay Surie Adam Wolbach.
OS Spring’03 Introduction Operating Systems Spring 2003.
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Mid-Semester Presentation Spring 2005 Network Sniffer.
Figure 1.1 Interaction between applications and the operating system.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
1 I/O Management in Representative Operating Systems.
OS Spring’04 Introduction Operating Systems Spring 2004.
WANs and Routers Routers. Router Description Specialized computer Like a general purpose PC, a router has:  CPU  Memory  System Bus Connecting Internal.
© 2004 Cisco Systems, Inc. All rights reserved. Managing Your Network Environment Managing Router Startup and Configuration INTRO v2.0—9-1.
© 2007 Cisco Systems, Inc. All rights reserved.ICND1 v1.0—6-1 Network Environment Management Managing Router Startup and Configuration.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Basic Router Configuration Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
OPERATING SYSTEM OVERVIEW. Contents Basic hardware elements.
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
GBT Interface Card for a Linux Computer Carson Teale 1.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Chapter 8: Operating Systems and Utility Programs Catherine Gifford Dan Falgares.
ATCA based LLRF system design review DESY Control servers for ATCA based LLRF system Piotr Pucyk - DESY, Warsaw University of Technology Jaroslaw.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
Operating Systems Lecture 7 OS Potpourri Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Unit - VI. Linux and Real Time: Real Time Tasks Hard and Soft Real Time Tasks Linux Scheduling Latency Kernel Preemption Challenges in Kernel Preemption.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
CH10 Input/Output DDDData Transfer EEEExternal Devices IIII/O Modules PPPProgrammed I/O IIIInterrupt-Driven I/O DDDDirect Memory.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
CCNA2 Chapter 2 Cisco IOS Software. Cisco’s operating system is called Cisco Internetwork Operating System (IOS) IOS provides the following network services:
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
IT3002 Computer Architecture
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Router Initialization steps.
Router Startup and Setup Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
Overview of Windows Driver Development Reference: us/gstart/hh/gstart/gs_intro_031j.asp.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Cisco 2 - Routers Perrine. J Page 16/26/2016 Chapter 2 Cisco IOS Software Cisco’s operating system is called Cisco Internetwork Operating System (IOS)
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 2 Introduction to Routers.
An Embedded Wireless Mini-Server with Database Support Presented by: Amit Kumar.
BY: SALMAN 1.
Input/Output (I/O) Important OS function – control I/O
Introduction to Kernel
BY: SALMAN.
Current Generation Hypervisor Type 1 Type 2.
CCNA 2 v3 JEOPARDY Module 2 CCNA2 v3 Module 2 K. Martin.
CCNA Routing and Switching Routing and Switching Essentials v6.0
Protection of System Resources
Chapter 10: Device Discovery, Management, and Maintenance
CCNA Routing and Switching Routing and Switching Essentials v6.0
Oracle Solaris Zones Study Purpose Only
KERNEL ARCHITECTURE.
OS Virtualization.
Chapter 10: Device Discovery, Management, and Maintenance
Lecture Topics: 11/1 General Operating System Concepts Processes
UNIT-III Pin Diagram Of 8086
Lecture9: Embedded Network Operating System: cisco IOS
Managing Cisco IOS Software
Lecture9: Embedded Network Operating System: cisco IOS
Bending Ironic for Big Iron
Presentation transcript:

DCM Embedded Software Infrastructure, Build Environment and Kernel Modules A.Norman (U.Virginia) 1 July '09 NOvA Collaboration Mtg.

What is theDCM Embedded System? The OS & specialized drivers/software required to talk to and extract information from the hardware. Specifically: – Configuration/Boot Method (flash memory + bootloader) – Limited Operating System Includes Kernel & specialized device drivers A memory based filesystem Configuration parameters Limited set of command utilities Small enough to fit entirely in memory – Application code Designed (and optimized) specifically for the hardware Compiled and run strictly out of device memory (small footprint) Designed for “diskless” I/O A.Norman (U.Virginia)2July '09 NOvA Collaboration Mtg.

DCM Embedded System 3 DAQ Server ConfigurationSandbox DCM Can now run application code and access hardware buffers from user space

DCM Boot Example: Behold a working DCM: (switch to example) Boot/Configure time: – Average 38sec – Includes ssh initialization for diagnostics – Does NOT include startup of user applications – No calls to external DBs etc… This is on NOvA test stand setup in Feynman – Quiet network with dedicated server A.Norman (U.Virginia)July '09 NOvA Collaboration Mtg.4

DCM Kernel Driver Currently 1 module (dcm.ko) Contains correct microcode and register map for current DCM prototypes Provides access to the control registers Provides data readout in single word reads Single Word Transfer A.Norman (U.Virginia)July '09 NOvA Collaboration Mtg.5

Kernel: Not Implemented No DMA transfer – Partially implimented – Does provide block transfers – BUT….results in data corruption and repeated data blocks Status block is defined but not implemented NOvA Event View in the works for Diagnostics DMA Block Transfer A.Norman (U.Virginia)July '09 NOvA Collaboration Mtg.6 Data Corruption & Repeated Events Empty Buffer

FEB Integration With the current kernel module: – Can load the control registers – Can read the control registers This means we can technically push data to a DCM which is tagged to be transmitted to the FEB. – This interface is going to change slightly, but the format is just a memory mapped I/O 7 DCM CommandFEB AddressData Word for FEB Command processed by DCM (i.e. WRITE_TO_FEB or READ_FROM_FEB) Address in FEB of FEB command register Data required for given FEB command FEB/DCM Integration Test FEB/DCM Integration Test Scheduled for Next Week We’ll know at this point how this works in practice FEB/DCM Integration Test FEB/DCM Integration Test Scheduled for Next Week We’ll know at this point how this works in practice

Designing for 180+ Systems Design: – Want lightweight identical embedded systems – Need 180+ simultaneous copies running Problem: “You are a unique DCM, just like everybody else” – Each DCM system needs to be identical, but each needs to have a unique identity “You are a unique DCM, just like everybody else” – Means having a method of passing identity information at startup and embedding it in the system A.Norman (U.Virginia)July '09 NOvA Collaboration Mtg.8 Having a DCM “Know who it is” simplifies Run Control and Resource Manager Operations

DCM Idenity 9 DCHP Table  Keys off device MAC  Static Assignment of IP address at boot  Assigns config images Configuration Sandbox DCM MAC: 00-FF-FF….FF DHCP Request DHCP Response IP: x.x TFTP Config Assignment TFTP Config Request Config Load (Kernel/RAMDISK) Database o Universal DCM ID o DCM MAC o Install Position This info comes from installer Encode a 16bit word with the DCM position 0x0Bxx0Ayy Kernels RamDisk Images Kernels RamDisk Images Kernels RamDisk Images Kernels RamDisk Images Kernels RamDisk Images Kernels RamDisk Images 180+ configurations Every DCM is forced to “Know who it is” order to take data. This is independent from Run Control or a Resource Manager

Dev. & Build Environment DCM is a PowerPC based system – Requires cross-compilation of all applications – Cross-compilers are in place and working Both a kernel compiler and app compiler are working Simple build system works for custom applications – Need to bootstrap newer compilers to accommodate external software packages chosen by the DAQ system (example: Ganglia package for DAQMon) – Build examples exist for correct cross compiles of most applications But this needs to be formalized to match the rest of the DAQ build model 10 Build Machine (Intel i686 Arch) code Compiler (cross Arch) Obj Code (PPC form) Linker (cross Arch) Foreign Libraries Foreign Libraries Executable (Foreign) Target Machine (Motorola PPC 603 Arch) Copy across network Executable (PPC) PPC Libraries (Local Copy) PPC Libraries (Local Copy) Simple Cross Compilation Flow Example

In the works Working Bootloader (via debug trig) DCM base OS and config. DCM Kernel Module – Control Reg – Data Buffer (single word mode) – User space hooks One catch all User app. – dcm_control Read/write FPGA loading Etc… Still Required Boot on power up OS Optimizations DCM Kernel Module – Data Buffer (DMA block mode) – Status Buffer – FEB programming FEB Kernel Module – Simplify FEB configurations User apps – Need diagnostics Memory views, register views, etc… Expert applications for debugging A.Norman (U.Virginia)July '09 NOvA Collaboration Mtg.11

End A.Norman (U.Virginia)July '09 NOvA Collaboration Mtg.12

Single Word Transfer DMA Block Transfer Data Corruption & Repeated Events A.Norman (U.Virginia)July '09 NOvA Collaboration Mtg.13

Build Machine (Intel i686 Arch) code Compiler (cross Arch) Obj Code (PPC form) Linker (cross Arch) Foreign Libraries Foreign Libraries Executable (Foreign) Target Machine (Motorola PPC 603 Arch) Copy across network Executable (PPC) PPC Libraries (Local Copy) PPC Libraries (Local Copy) Simple Cross Compilation Flow Example A.Norman (U.Virginia)July '09 NOvA Collaboration Mtg.14

Outline of what to cover Overview Hardware/Software diagram Hardware configuration and loading Initial boots RAM disks A.Norman (U.Virginia)July '09 NOvA Collaboration Mtg.15