diff options
Diffstat (limited to 'docs/TCF Project.html')
-rw-r--r-- | docs/TCF Project.html | 128 |
1 files changed, 64 insertions, 64 deletions
diff --git a/docs/TCF Project.html b/docs/TCF Project.html index 3feb27f88..373ad50e6 100644 --- a/docs/TCF Project.html +++ b/docs/TCF Project.html @@ -12,9 +12,9 @@ <H2><A name='Index'></A>Index</H2> <UL> - <LI><A href="#Summary">Summary</A> - <LI><A href="#Goals">Goals</A> - <LI><A href="#Features">Features</A> + <LI><A href="#Summary">Summary</A> + <LI><A href="#Goals">Goals</A> + <LI><A href="#Features">Features</A> <LI><A href="#Agent">Reference implementation of a target agent</A> <LI><A href="#Debugger">Prototype of a debugger based on Eclipse Debug Framework and TCF</A> <LI><A href="#RSE">Prototype of a system monitor and remote file access based on Remote System Explorer and TCF</A> @@ -23,46 +23,46 @@ <P> <H2><A name='Summary'></A>Summary </H2> -<P>Today almost every device software development tool on the market has its own -method of communication with target system. Communication methods often conflict -with each other, require individual setup, configuration and maintenance, impose -all kinds of unnecessary limitations. Target Communication Framework is designed -to establish common ground in the area of communication protocols between -development tools and embedded devices. +<P>Today almost every device software development tool on the market has its own +method of communication with target system. Communication methods often conflict +with each other, require individual setup, configuration and maintenance, impose +all kinds of unnecessary limitations. Target Communication Framework is designed +to establish common ground in the area of communication protocols between +development tools and embedded devices. <P> <H2><A name='Goals'></A>Goals </H2> <P> <UL> - <LI>Universal, extensible, simple, lightweight, vendor agnostic framework for - tools and targets to communicate for purpose of debugging, profiling, code - patching and other device software development needs. - <LI>Single configuration per target (not per tool per target as today in most - cases), or no configuration when possible. + <LI>Universal, extensible, simple, lightweight, vendor agnostic framework for + tools and targets to communicate for purpose of debugging, profiling, code + patching and other device software development needs. + <LI>Single configuration per target (not per tool per target as today in most + cases), or no configuration when possible. <LI>Small overhead and footprint on target side. </LI></UL> <P> <H2><A name='Features'></A>Features </H2> -<P><A href="TCF Specification.html">Target Communication Framework Specification</A> is a document -describing design goals, requirements and format of TCF communication protocol, -as well as framework API and software design considerations. -<P>TCF communication model is based on the idea of services. A service is a group -of related commands, events and semantics. A service can be discovered, -added or removed as a group at communication endpoint. Service definitions are -not part of the framework specification, and new services are expected to be -defined by developers of tools and target agents. However, standardization of -common services is needed to achieve certain level of compatibility of +<P><A href="TCF Specification.html">Target Communication Framework Specification</A> is a document +describing design goals, requirements and format of TCF communication protocol, +as well as framework API and software design considerations. +<P>TCF communication model is based on the idea of services. A service is a group +of related commands, events and semantics. A service can be discovered, +added or removed as a group at communication endpoint. Service definitions are +not part of the framework specification, and new services are expected to be +defined by developers of tools and target agents. However, standardization of +common services is needed to achieve certain level of compatibility of tools/targets, see <A href="TCF Services.html">TCF Services Specification</A> -as starting point of this work. +as starting point of this work. <H2><A name='Agent'></A>Reference implementation of a target agent</H2> -<P>Current reference implementation of TCF target agents is fully functional, -can run on Windows, Linux and VxWorks. On Linux it is implemented -using PTRACE, on VxWorks is uses vxdbgLib, on Windows it uses Debug API and dbghelp.dll. -The agent provides the following services: +<P>Current reference implementation of TCF target agents is fully functional, +can run on Windows, Linux and VxWorks. On Linux it is implemented +using PTRACE, on VxWorks is uses vxdbgLib, on Windows it uses Debug API and dbghelp.dll. +The agent provides the following services: <UL> - <LI>Run Control - provides threads and processes run control functionality + <LI>Run Control - provides threads and processes run control functionality sufficient for debugging of user space programs. <LI>Breakpoints - provides basic breakpoints support. @@ -72,7 +72,7 @@ The agent provides the following services: <LI>Memory - program memory access. - <LI>Processes - provides access to the target OS's process + <LI>Processes - provides access to the target OS's process information, allows starting new and terminating existing processes, and allows attaching and detaching processes for debugging. @@ -80,56 +80,56 @@ The agent provides the following services: and corresponding machine instruction addresses in the executable object. Implemented for Linux and Windows, not supported on VxWorks. - <LI>Sys Monitor - provides list of processes, process attributes and - CPU/memory utilization data. On Linux it is implemented using /proc file - system, on Windows and VxWorks it is not currently supported. + <LI>Sys Monitor - provides list of processes, process attributes and + CPU/memory utilization data. On Linux it is implemented using /proc file + system, on Windows and VxWorks it is not currently supported. <LI>File System - provides access to remote file system. - + <LI>Streams - a generic service to support streaming of data between host and target. - <LI>Diagnostics - allows testing of communication channel and agent + <LI>Diagnostics - allows testing of communication channel and agent functionality. </UL> -<P>The agent code is designed to be easily extensible by adding new command -handler implementations. The code separates machine dependences, common TCF -logic and service implementations, which allows easy porting to a new OS or a -target and reconfiguring of the agent for specific needs. The code is written in +<P>The agent code is designed to be easily extensible by adding new command +handler implementations. The code separates machine dependences, common TCF +logic and service implementations, which allows easy porting to a new OS or a +target and reconfiguring of the agent for specific needs. The code is written in ANSI C. See <A href="TCF Linux Agent Prototype.html">TCF Linux Agent Prototype</A> -for more details about the agent code. +for more details about the agent code. <H2><A name='Debugger'></A>Prototype of a debugger based on Eclipse Debug Framework and TCF</H2> -<P>The prototype code connects Eclipse Debug Framework and Target Communication -Framework. It allows to launch Eclipse debug session by connecting to a target -running TCF agent, and then perform basic debugging tasks, like resuming, +<P>The prototype code connects Eclipse Debug Framework and Target Communication +Framework. It allows to launch Eclipse debug session by connecting to a target +running TCF agent, and then perform basic debugging tasks, like resuming, suspending, single-stepping, setting/removing breakpoints, etc. -<P>The prototype launch configuration autodetects TCF targets on a local network -and allows a user to connect to a target by simply selecting it from a list -without a need for any further configuration or setup. TCF launch configuration -dialog also offers controls to run a built-in diagnostics on a selecting target, -which perform stress testing of communication channel, agent and target itself: -<P><IMG alt="TCF launch configuration dialog" src="TCF_Launch_Dialog.jpg"> - -<P>The prototype makes use of flexible debug model element hierarchy support, -which is available in Eclipse debug framework since Eclipse 3.2. The flexible -hierarchy allows debugger views to be "data driven" or, in other words, dynamically -adapt to a given targets capabilities and structure, without a need to modify +<P>The prototype launch configuration autodetects TCF targets on a local network +and allows a user to connect to a target by simply selecting it from a list +without a need for any further configuration or setup. TCF launch configuration +dialog also offers controls to run a built-in diagnostics on a selecting target, +which perform stress testing of communication channel, agent and target itself: +<P><IMG alt="TCF launch configuration dialog" src="TCF_Launch_Dialog.jpg"> + +<P>The prototype makes use of flexible debug model element hierarchy support, +which is available in Eclipse debug framework since Eclipse 3.2. The flexible +hierarchy allows debugger views to be "data driven" or, in other words, dynamically +adapt to a given targets capabilities and structure, without a need to modify debugger code to support a new target. - + <H2><A name='RSE'></A>Prototype of a system monitor and remote file access based on Remote System Explorer and TCF</H2> -<P>Remote System Explorer is an Eclipse based component that allows users to -create connections to remote machines and explore their file systems, see list -of processes and access some other resources, like remote shells. Remote System -Explorer has been designed as a flexible, extensible framework to which Eclipse -plug-in developers can contribute their own system definitions, actions, etc. -<P>The prototype enables use of Processes and Files subsystems of Remote System -Explorer over TCF. It also extends Processes subsystem to include CPU +<P>Remote System Explorer is an Eclipse based component that allows users to +create connections to remote machines and explore their file systems, see list +of processes and access some other resources, like remote shells. Remote System +Explorer has been designed as a flexible, extensible framework to which Eclipse +plug-in developers can contribute their own system definitions, actions, etc. +<P>The prototype enables use of Processes and Files subsystems of Remote System +Explorer over TCF. It also extends Processes subsystem to include CPU utilization data and some other process attributes in RSE views: -<P><IMG alt="Remote System Explorer: Files subsystem over TCF" src="TCF_RSE_Files.jpg"> -<P><IMG alt="Remote System Explorer: Processes subsystem over TCF" src="TCF_RSE_Processes.jpg"> +<P><IMG alt="Remote System Explorer: Files subsystem over TCF" src="TCF_RSE_Files.jpg"> +<P><IMG alt="Remote System Explorer: Processes subsystem over TCF" src="TCF_RSE_Processes.jpg"> </BODY> </HTML>
\ No newline at end of file |