© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.

Slides:



Advertisements
Similar presentations
Extending Eclipse CDT for Remote Target Debugging Thomas Fletcher Director, Automotive Engineering Services QNX Software Systems.
Advertisements

Using MapuSoft Instead of OS Vendor’s Simulators.
A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 1 Progress Report - Debug Platform (3.2 M4)  State of 3.2 M4  Some Demos.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Operating-System Structures
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Lecture Objectives: 1)Explain the limitations of flash memory. 2)Define wear leveling. 3)Define the term IO Transaction 4)Define the terms synchronous.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computer Systems/Operating Systems - Class 8
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
1: Operating Systems Overview
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
04/16/2010CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying an earlier edition.
Chapter 7 Interupts DMA Channels Context Switching.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Chapter 1 and 2 Computer System and Operating System Overview
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
Copyright © 2006 Intel Corporation, released under EPL version /20061 Eclipse DSDP-TM Target Connection Adapters Peter Lachner WW08’06 rev 1.0.
Chapter 1 and 2 Computer System and Operating System Overview
© 2006, 2008 Wind River and IBM; made available under the EPL v1.0 | March 10, 2008 | Eclipse Device Debuging: Debugger Services Framework (DSF) Martin.
Copyright (c) 2005 IBM Corporation; made available under the EPL v1.0 Enhancements in Memory View December 21, 2005.
Cortex-M3 Debugging System
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.
Main sponsor PicassoMonet + RembrandtMatejko + Canaletto How Debuggers Work Karl Rehmer Failures Come in Flavors Michael Nygard REST in Java Stefan Tilkov.
Computer Organization
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
LOGO BUS SYSTEM Members: Bui Thi Diep Nguyen Thi Ngoc Mai Vu Thi Thuy Class: 1c06.
1. Introduction 2. Methods for I/O Operations 3. Buses 4. Liquid Crystal Displays 5. Other Types of Displays 6. Graphics Adapters 7. Optical Discs 10/01/20151Input/Output.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
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.
Operating systems, lecture 4 Team Viewer Tom Mikael Larsen, Thursdays in D A look at assignment 1 Brief rehearsal from lecture 3 More about.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
Introducing Moon the Next Generation Java TM Processor Core VULCAN MACHINES’ MOON PROCESSOR CORE.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
By Edward A. Lee, J.Reineke, I.Liu, H.D.Patel, S.Kim
Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 Update Policy ~ Where we are in 3.2.
Eclipse Debug Views Update Policy. 2 Copyright (c) 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary Copyright © 2009 Ericsson, Made available under the Eclipse Public License.
Introduction Ken Ryall – Nokia Warren Paul – Nokia Daymon Rogers – Freescale John Cortell - Freescale.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
© 2007 by IBM; made available under the EPL v1.0 | Jan 9 th, 2007 Darin Wright IBM Rational Software Debug Platform 3.3.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
TCF - Target Communication Framework Update for Helios Martin Oberhuber Pawel Piech Wind River.
Module 12: I/O Systems I/O hardware Application I/O Interface
CSCI 315 Operating Systems Design
Chapter 2: The Linux System Part 1
I/O Systems I/O Hardware Application I/O Interface
Operating System Concepts
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
How to take advantage of the new Eclipse Debug Platform features
Code Composer Essentials 3.0
DSDP - Target Management
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment. Phone:
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Debugger Services Framework (DSF) Device Debugging Project Update by Pawel Piech Wind River Systems, Inc.

2 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Agenda  Device Debugging Goals  Why another framework?  Enabling technologies  DSF features Concurrency Services Data Model  Migrating to DSF  Plans

3 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Device Debugging Goals  Modify the Eclipse Debug Model Interfaces in order to enable more customized debugger implementations, especially those geared towards the embedded space. (Flexible Hierarchy)  Provide a new Debug Model implementation that takes a more modular approach to connecting debugger back ends into Eclipse. (DSF)  Enhance the debugger views for multi-core and multi-process support and provide specific improvements in those views for embedded development. Multi- core enhancements are proposed for the Eclipse 3.3 release. We are looking at additional view enhancements.  Integrated with the SPIRIT consortium for tooling and debugger data file specification.  Provide the next generation implementation for CDT’s MI debugger.

4 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Device Debugging Challenges  Slow connection to target Ethernet JTAG Serial Port  More visibility into target hardware On-chip Peripherals Processor Cache Flash Memory Tracing Hardware Breakpoints  Varied target hardware architectures Multiple Cores/CPUs/DSPs Memory Models  Strict Concurrency Model Complex caching techniques Exact control over when and what data is retrieved from target  Modular Debugger Implementation Selective re-use of a standard implementation Custom services can be written to interact with custom hardware  Decoupled view layout from data model Layout and content of views easily customized (Beyond 3.3) Layout customized by users How DSF fits in...

5 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. UI Thread Enabling Technology: Flexible Hierarchy Viewer Model Adapter Request Monitor request data Model Specific API set data update viewer

6 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Flexible Hierarchy (notes)  Adapters obtained by the view based on the data object in the viewer and the IAdaptable mechanism  Adapter methods are asynchronous, meaning that the adapter takes the "request monitor" as an argument, and it can perform the operation on any thread with any kind of delay.  There are separate adapters for every aspect of viewer operation: retrieving children of a node retrieving label of a node translating model events into viewer updates determining list of columns in viewer creating cell editors determining whether selection request should be overridden displaying source based on selection in Debug view

7 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. I/O Thread Job Flexible Hierarchy + Standard Debug Model Standard Adapter Request Monitor set data Standard Debug Model retrieve data schedule Debugger Back End send command and wait command completed

8 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Flexible Hierarchy + Standard Debug Model (notes)  There is a full array of adapters and supporting classes already written for all the objects of the Standard Debug Model. These classes are still internal to Platform, but are likely to be made public at least to some extent.  The implementation has a performance problem due to the fact that a separate job is created for every label and content retrieval, but this is going to be addressed soon (bug ).  The remaining performance bottleneck is the request-wait-return pattern for communicating with the debugger back end. Even though a separate thread is used for I/O (for CDI), the calling Job is blocked until the command is completed. DISCLAIMER: POSSIBLE TO CIRCUMVENT  The Standard Data Model is accessed by many job threads, hence its implementations must be thread safe and they must synchronize access to their state data.

9 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. I/O Thread DSF Executor Thread Flexible Hierarchy + DSF DSF Adapter Request Monitor set data request data return data Debugger Back End send command completed DSF Services

10 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Other Enabling Technologies  OSGi Robust services framework  Java 5 java.util.concurrency - extensive set of utilities helped implement a stable and complete concurrency model in DSF generics - helped simplify and reduce number of objects in asynchronous interfaces annotations - used by DSF service event framework

11 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Concurrency Model  Rules Single thread for communication between services No blocking calls on the shared thread  Practical Effects Predictable system state when executing in executor thread Synchronization accomplished through thread confinement no race conditions, no synchronized blocks Synchronous access to services' state data Asynchronous methods are required for all other data retrieval Background threads are required for external I/O and long running operations Difficult to step through with debugger Tracing tool needs to be developed to aid debugging

12 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Case study: Stepping and Stack  Requirements Stepping speed should be limited only by the target Cursor position and instruction pointer should update after every step  Design challenges Stack data is usually retrieved using -stack-list-frames, which is expensive Top stack frame information is also included in the stopped event To achieve maximum speed, -exec-next should be executed as soon as the stopped event is received  Notes Step Queue service is used to queue up step requests from UI Sequence highlighted in red is the dispatching of the Suspended event from the Run Control service, which occurs within a single execution cycle Sequence highlighted in blue is the debug view retrieving the full list of stack frames, it fails in the multi-step sequence because the target is running

13 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Stepping & Stack: Components Run ControlStack GDB Debug View View Model AdapterSource Lookup Adapter Editor UI Components DSF UI Adapters DSF Services Debugger "back-end" Step Queue Step Action Adapter Step Action

14 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Stepping & Stack: Single Step Sequence

15 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Stepping & Stack: Multi-Step Sequence

16 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Debugger Services  Build on top of OSGi services framework  Service interfaces make up a public API of a debugger implementation  Clear dependencies between modules Dependencies dictate the startup and shutdown order of the services Startup order dictates the priority for service event listeners  Extending debugger implementation Adding new services to implement custom functionality Replacing selected services with custom impementation

17 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Case Study: Registers View  Custom debugger implementation (DFW) Standard MI protocol for run control, stack, etc. Custom protocol for register data  Goals Reuse as much of DSF-MI implementation as possible  Notes The only service that has to be modified/replaced from the standard MI implementation is the Registers service

18 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Registers View (Components) DSF Services MIConnection MI Registers GDB Debugger "back-end" GDBCustom (DFW) Registers View Model Adapter DSF UI Adapters Registers View UI Components DSF Services MIConnection DFW Registers DFW Debugger "back-end" Register View Model Adapter DSF UI Adapters Registers View UI Components

19 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Decoupled View Layout - Data Model  Flexible Hierarchy already allows customization. What's left? Framework designed specifically to work with DSF Services Simplified API over the standard adapter interfaces Simplified mechanism for processing target events and generating model deltas Customizing view layout at "on the fly"  Possible contribution to Platform Implementation is currently highly-dependent on DSF concurrency and services model More design/implementation/testing still needed

20 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Migration and Compatibility with CDI  Common components Editor/Disassembly Breakpoints Source Lookup  CDI It is possible to implement a CDI debugger using DSF Services But, it's not really practical because implementing a synchronous API on top of an asynchronous API defeats the purpose of the former A significant amount of work If needed for compatibility, DD project is seeking help from community for this effort  Platform's Standard Debug Model Can and will be implemented for Europa release Best bet for 3rd party tools and backward compatibility  CDT extensions to Standard Debug Model Some interfaces need to be implemented to work with CDT disassembly view Full implementation may be possible for Europa release, depending on staffing

21 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Goals & Planning  Europa 0.9 Release Full MI implementation with functionality equivalent to CDI Complete APIs, but not yet finalized Updating the build process based on information from build symposium  Beyond Europa Finalize APIs Laundry list of features  Early Adoption (before Europa release) Will require close collaboration and lots of patience Would definately help improve DSF architecture and quality Wind River will start adopting DSF to the commercial product starting in the Fall

22 © Wind River Systems, released under EPL 1.0. All logos are TM of their respective companies. Resources  Device Debugging Project  DSF Documentation  Flexible Hierarchy Tutorial