GLAST Large Area Telescope Instrument Flight Software Flight Unit Design Review 16 September 2004 Primary Boot Code (PBC) D. Wood Naval Research Laboratory.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Managing Cisco IOS Software. Overview The router boot sequence Locating IOS software The configuration register Recovering Passwords Backing Up the Cisco.
The 8051 Microcontroller and Embedded Systems
8051 Core Specification.
9/20/6Lecture 3 - Instruction Set - Al1 The Hardware Interface.
Processor System Architecture
Operating System Structure
1BA3 G Lacey Lecture 51 Evaluating mathematical expressions  How do computers evaluate x + y or any mathematical expression ?  Answer : “Reverse Polish.
Wednesday, June 07, 2006 “Unix is user friendly … it’s just picky about it’s friends”. - Anonymous.
EET 450 Chapter 2 – How hardware and Software Work Together.
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Processes and Resources
ISOC Peer Review - March 2, 2004 Section GLAST Large Area Telescope ISOC Peer Review Test Bed Terry Schalk GLAST Flight Software
WANs and Routers Routers. Router Description Specialized computer Like a general purpose PC, a router has:  CPU  Memory  System Bus Connecting Internal.
Software Development and Software Loading in Embedded Systems.
NET+OS 6.1 Training. BSP NET+OS 6.1 BSP Initialization Memory map New features Debugging Porting Issues.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Computer Organization
hardware and operating systems basics.
How Hardware and Software Work Together
DOS- Disk Operating System By: Prof.M.B.Salunke Asst. Prof., Department of Computer Engg, SITS, Pune-41.
System Calls 1.
Protection and the Kernel: Mode, Space, and Context.
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
OPERATING SYSTEM OVERVIEW. Contents Basic hardware elements.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
Input and Output Computer Organization and Assembly Language: Module 9.
DOS  In the 1980s or early 1990s, the operating system that shipped with most PCs was a version of the Disk Operating System (DOS) created by Microsoft:
Directives, Memory, and Stack. Directives Special commands to the assembler May or may not generate machine code Categories by their function Programming.
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
GLAST LAT ProjectDOE/NASA Peer Review, March 19-20, 2003 GLAST Large Area Telescope: Electronics, Data Acquisition & Instrument Flight Software Flight.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Ch.2 – Introduction to Routers
Device Drivers CPU I/O Interface Device Driver DEVICECONTROL OPERATIONSDATA TRANSFER OPERATIONS Disk Seek to Sector, Track, Cyl. Seek Home Position.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
The Functions of Operating Systems Desktop PC Operating Systems.
GLAST Large Area Telescope Instrument Flight Software Flight Unit Design Review 16 September 2004 Software Watchdog Steve Mazzoni Stanford Linear Accelerator.
2003 Dominic Swayne1 Microsoft Disk Operating System and PC DOS CS-550-1: Operating Systems Fall 2003 Dominic Swayne.
GLAST LAT ProjectDOE/NASA Peer Review, March 19-20, 2003 GLAST Large Area Telescope: Electronics, Data Acquisition & Instrument Flight Software Flight.
6-1 Infineon 167 Interrupts The C167CS provides 56 separate interrupt sources that may be assigned to 16 priority levels. The C167CS uses a vectored interrupt.
GLAST Large Area Telescope LAT Flight Software System Checkout TRR Systems Engineering Mike DeKlotz GSFC Stanford Linear Accelerator Center Gamma-ray Large.
GLAST Large Area Telescope LAT Flight Software System Checkout TRR Test Suites (Backup) Stanford Linear Accelerator Center Gamma-ray Large Area Space Telescope.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
GLAST Large Area Telescope Instrument Flight Software Flight Unit Design Review 16 September 2004 Instrument Configuration James Swain Stanford Linear.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA)
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course demonstrates the Project Generator function.
© 2002, Cisco Systems, Inc. All rights reserved..
GLAST Large Area Telescope LAT Flight Software System Checkout TRR FSW Overview Sergio Maldonado FSW Test Team Lead Stanford Linear Accelerator Center.
GLAST Large Area Telescope LAT Flight Software System Checkout TRR Test Environment Sergio Maldonado FSW Test Team Lead Stanford Linear Accelerator Center.
GLAST Large Area Telescope Instrument Flight Software Flight Unit Design Review 16 September 2004 Secondary Boot Code (SBC) D.Wood Naval Research Laboratory.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 2 Introduction to Routers.
OPERATING SYSTEM CONCEPT AND PRACTISE
Chapter Objectives In this chapter, you will learn:
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
EPU load – same as SIU load except…
Chapter 2: Operating-System Structures
Operating Systems Lecture 3.
Introduction to Operating Systems
Lecture9: Embedded Network Operating System: cisco IOS
Chapter 2: Operating-System Structures
Lecture9: Embedded Network Operating System: cisco IOS
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

GLAST Large Area Telescope Instrument Flight Software Flight Unit Design Review 16 September 2004 Primary Boot Code (PBC) D. Wood Naval Research Laboratory / Praxis, Inc. Gamma-ray Large Area Space Telescope

16 September 2004Flight Unit Peer Review - Primary Boot Code 2 Summary of PBC Requirements : All PBC code and data shall reside in the RAD750 PROM : The PBC code load shall support the SIU and EPU , , : Power-up, external reset, watchdog reset, and soft reset shall cause execution of the PBC residing in the system's PROM in the RAD750. EPUs perform a primary boot in response to commands from the SIU : PBC shall disable the hardware watchdog during the boot process : The PBC shall generate housekeeping telemetry : PBC shall use discrete interface lines to signal boot status : The PBC shall automatically dump the boot diagnostics to HKP telemetry , , : PBC shall store system errors in an error log. The log will also record the cause/source of any resets. This log can be sent via telemetry, on command , 11-12: FSW shall respond to commands to create, dump, and delete files and file system directories; load and dump memory; and, send status information about such objects , : After entering the boot shell, the FSW processors shall be commandable by the SIU to perform file loads. This load can be cancelled. The PBC shall use minimal processor resources. PBC shall initialize the RAD750 CPU, memory controller, and PCI bridge to a known state. The PBC shall provide the capability to reload the SIB EEPROM. The PBC shall process the SIANCILLARY command packet from the spacecraft for timing. The PBC shall recover from errors and exceptions. The design of PBC is described in detail in LAT-TD-01806LAT-TD-01806

16 September 2004Flight Unit Peer Review - Primary Boot Code 3 Bridge Chip Initialization The bridge chip contains an embedded micro-controller (EMC) used to initialize the PPCI bridge chip. The EMC code is resident in the PROM. The EMC software configures the PPCI bridge chip memory controller and PCI interface and starts the PPC processor. The EMC software also provides exception and error processing support, including the watchdog timer.

16 September 2004Flight Unit Peer Review - Primary Boot Code 4 Power PC Processor Initialization First code to run on Power PC. Written in PPC assembly language. Overview of processing: –Setup memory management unit. The PPC 4 DBATS are used to cover RAM, PPCI registers, PCI memory and PROM. –Configure PPC processor features. –Test 12 MB RAM used by PBC on cold boot. Attempt one level of remediation if failures are detected. –Test 128MB RAM used by application on request. Attempt one level of remediation if failures are detected. –Copy PBC data segment from PROM to RAM. –Initialize BSS segment and stack. –Start boot shell (first C code).

16 September 2004Flight Unit Peer Review - Primary Boot Code 5 Memory Test Memory tested in 4 segments: Boot Diagnostics Area, Low Boot Memory, High Boot Memory and Application Memory. Tests memory addressing of each 32-bit value and each bit in each memory location. On first failure, RAD750 PID is set to indicate failure, the spare nibble column is swapped in and the test is restarted. On second failure, after remediation, the PID remains set, the test stops and returns to attempt to run PBC code. Test results are stored in Boot Diagnostics Area. Remediation swaps spare SDRAM byte column at the expense of the SDRAM EDAC capabilities

16 September 2004Flight Unit Peer Review - Primary Boot Code 6 Boot Shell Configuration PBC is provided in 4 images, loaded separately. These images define both the "personality" of the machine (SIU or EPU) and the interface (1553 or LCB) to be used as the command and telemetry link: The PBC code will configure the devices on the PCI bus. C&T interfaceEngineering model imageFlight image 1553siu_pbc_emsiu_pbc_flight LCBepu_pbc_emepu_pbc_flight

16 September 2004Flight Unit Peer Review - Primary Boot Code 7 Boot Shell Boot shell is main command processing code. Polls active communications interface for commands. Sends boot housekeeping telemetry –When scheduled on 1553 interface –Every 250ms on LCB interface Boot shell responds to Boot RTOS Execute telecommand by executing the secondary boot code and initializing applications.

16 September 2004Flight Unit Peer Review - Primary Boot Code 8 Boot File Operations PBC provides access to load the 9 boot file objects as shown here. No file dump capability is provided, memory dump operations are available to dump file data. File NumberDescription 0RAM RTOS buffer. 1RAM secondary boot module 0 buffer. 2RAM secondary boot module 1 buffer 3SIB EEPROM lower bank boot partition RTOS file. 4SIB EEPROM lower bank boot partition secondary boot module 0 file 5SIB EEPROM lower bank boot partition secondary boot module 1 file 6SIB EEPROM upper bank boot partition RTOS file. 7SIB EEPROM upper bank boot partition secondary boot module 0 file 8SIB EEPROM upper bank boot partition secondary boot module 1 file

16 September 2004Flight Unit Peer Review - Primary Boot Code 9 File Load State Machine PBC uses the same state machine for file load as the application code.

16 September 2004Flight Unit Peer Review - Primary Boot Code 10 Memory Load and Dump PBC provides the capability to load data to memory mapped devices (RAM, PROM, PPCI registers and PCI memory), PCI device headers and PPC processor registers. PBC provides the capability to dump data from memory mapped devices, PCI device headers and PPC processor registers. No state machine for memory load, data is committed upon acceptance of memory load command. Memory dump data is split up and inserted into boot housekeeping telemetry packets.

16 September 2004Flight Unit Peer Review - Primary Boot Code 11 Power PC Exception Processing PBC provides two sets of PPC exception vectors: ROM based and RAM based. ROM based exceptions are used until the PBC boot shell is initialized and configured. These exception vectors record the exception information in the boot diagnostics region and attempt to "plow through" the problem. RAM based exceptions are installed at boot shell initialization and used after boot shell is configured. These exception vectors record the exception information in the boot diagnostics region and reset the PBC code. Two sets of critical errors are implemented by the RAD750 as interrupts: PCI bus errors and memory controller errors. This requires PBC to poll status bit in boot shell heap.

16 September 2004Flight Unit Peer Review - Primary Boot Code 12 Boot PROM Memory Map PROM contains all EMC and PPC code & data. PPC data is copied to RAM at initialization. EMC Vector Table FFF00000 EMC Reset Stub FFF00020 PPC Reset Stub FFF00100 PPC Boot Exception Vectors FFF00200 EMC Startup and Vector Code FFF01000 PPC Primary Boot Code Segment (.text and.rodata) FFF02000 PPC Primary Boot Initialized Data Segment (.data) etext Unused FFF20000 (estimated) PBC Configuration Data FFF3FC00

16 September 2004Flight Unit Peer Review - Primary Boot Code 13 Boot RAM Memory Map PBC limited to first 3 megabytes of memory. Provides storage for: –Ram exception vectors –Boot diagnostics region –File upload buffers –Dynamic allocation heap –PBC code program data (copied from PROM at initialization) –Hardware I/O buffers Dynamic allocation needed by decompression routines. Allocation is "one way" only (i.e no recovery of resources). All other memory reserved by RTOS and application code. Reserved Boot Shell Reset Vector Boot Shell Exception Vectors Boot Code Stack EMC Parameter Region 0000FF00 Boot Diagnostics Region 0000FF80 Second Stage Boot RAM Module Second Stage Boot RAM Module VxWorks RTOS RAM Load Region Boot Shell File Upload Buffer LCB Input Ring Buffer I/O Output Buffer 002A0000 I/O Input Buffer 002A1000 Boot Shell Memory Heap 002A2000 Boot Code Program Data 002E8000 VxWorks RTOS Image BFFFFF

16 September 2004Flight Unit Peer Review - Primary Boot Code 14 Boot States Command File Load Commit SBC Boot Init boot reset cmd file cancel or protocol error file upload start cmd file data loaded and verified file data commited or file cancel boot RTOS exec cmd POR or exception Blue states produce telemetry. Green states DO NOT produce telemetry

16 September 2004Flight Unit Peer Review - Primary Boot Code 15 Boot Telecommands APIDFunc CodeDescription 0x6400Boot Start 1Boot Reset 2Boot Error Dump 3Boot RTOS Execute 0x6410File Upload Start 1File Upload Cancel 2File Upload Commit 3File Upload Data 0x6440Memory Data Dump 1Memory Dump Cancel 2PCI Device Header Dump 3Processor Register Dump 4Memory Write 5PCI Device Header Write 6Processor Register Write

16 September 2004Flight Unit Peer Review - Primary Boot Code 16 Boot Housekeeping Telemetry Boot sends out one telemetry packet 4 times per second. Contains command, file load and boot state information. Contains boot error codes. Contains memory dump data.

16 September 2004Flight Unit Peer Review - Primary Boot Code 17 Development Environment Using GNU tools as supplied by Wind River on a Sun workstation for PPC assembly and C development. Using EMC tools as supplied by BAE for EMC code development. Using Corelis in-circuit emulator for instruction level debugging on PPC processor (source-level debugging has been problematic) Using Corelis emulator and a combination of BAE supplied and NRL created tools to program the PROM. Substitute for SDIS on SIU and equivalent GSE for EPU are needed for testing the 1553 interface.