Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

15
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June 21, 2022 Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0 Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008 Felix Burton ([email protected])

description

Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008. Felix Burton ([email protected]). Agenda. Background Out Line Motivation Core Design Ideas Example use cases Status. Background. Cross development tools need communication link between host and target - PowerPoint PPT Presentation

Transcript of Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Page 1: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

© 2002 IBM Corporation

Confidential | Date | Other Information, if necessaryApril 21, 2023 Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Target Communication Framework

ECSI System Debug Workshop, Mar 10, 2008

Felix Burton ([email protected])

Page 2: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Agenda

Background Out Line Motivation Core Design Ideas Example use cases Status

2

Page 3: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Background

Cross development tools need communication link between host and target

Many tools, each typically using its own agent and communication method

Lots of overlap between these, e.g. how to communicate, retrieve/model target objects, manipulate target, etc

3

Page 4: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Out Line Define an open end to end tool to target communication mechanism for

the purpose of development, debug, monitor, analysis and test

Specification

Transport channel supporting extensible set of “services” Typically on top of a TCP/IP stream, but other transports supported as needed

but the target

Services defining commands, progress, replies, events & semantics

Discovery of available servers and services

Prototype implementation

Eclipse plug-ins

C-based agent

Scope

Cross tools (i.e. host and target are different) benefits the most, but is applicable to native tools as well

Target agent, OCD/JTAG and simulator connections

4

Page 5: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0 5

Existing Architectures

5

UI

Target

Tool ATool A Tool BTool B Tool CTool C Tool DTool D

Agent AAgent A Agent BAgent B Agent CAgent C

Value Add B

Value Add B

Value Add C

Value Add CHost P1

P3

P2

Page 6: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Motivation

Almost every cross development tool have their own infrastructure (agent, connection, protocol, setup, etc)

This leads to:

Poor user experience Each tools has its own target configuration Increased target intrusion (footprint, multiple agent interaction) Inconsistent product availability matrix

No sharing between agents Duplicated maintenance effort New features have to be added in multiple places New tools have to start from ground zero

Limited Eco-system

6

Page 7: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Core Design Ideas

Service knows best how to represent the system – get information from there and data-drive layers above

If not possible, put the knowledge in the lowest possible layer and data drive the layers above

Use the same protocol end-to-end, but allow value-adding servers to intercept select services when needed and pass-through everything else

Services as building blocks that can be used by multiple clients (tools) for different environments (target agent, OCD, simulator)

Avoid tools specific agents

Bridge gap with environment specific services to setup/configure common services

Support high latency communication links

7

Page 8: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Architecture Overview

8

UI

Target

Tool ATool A Tool BTool B Tool CTool C Tool DTool D

Service ManagerService Manager

Service 1Service 1

Value AddValue AddHost

Service 2Service 2 Service 3Service 3

Service 4Service 4

Service 5Service 5 P1

P1

Page 9: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Use Case: SimpleJtagDevice

Debug (run-control, breakpoint, memory register)

Possibly Others (flash programming, download, etc)

9

Page 10: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Use Case: TestExceutionAgent

Process launch and kill Standard I/O redirection File system access

10

Page 11: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Use Case: LinuxUserModeAgent

Debug (run-control, breakpoint, memory, register)

OS Awareness (process/thread list, CPU utilization, etc)

Process launch and kill Standard I/O redirection File system access Monitoring (event-config, event-log)

11

Page 12: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Prototype Status

Eclipse plug-ins Remote file system access and simple top style monitoring

integrated with RSE

Basic debugging integrated with Eclipse Core Debug plug-ins

DSF integration in the works

C-based agent Services needed by Eclipse plug-ins

Simple UDP based discovery

Functional on Linux and VxWorks

12

Page 13: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Specification Status

Transport Channel Current Services

Run Control, Memory, Register, Breakpoint, Processes, Stack Trace, File System, System Monitoring

Review of current and specification of additional services in power.org and Eclipse

13

Page 14: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Links

Prototype source repository svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk

http://dev.eclipse.org/viewsvn/index.cgi/org.eclipse.tm.tcf/?root=DSDP_SVN

FAQ http://wiki.eclipse.org/DSDP/TM/TCF_FAQ

14

Page 15: Target Communication Framework ECSI System Debug Workshop, Mar 10, 2008

Copyright © 2008 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

QUESTIONS/COMMENTS?

15