EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Tornado
From: [email protected] (Steve Lewis)
To: [email protected]
Cc: [email protected]
Date: Mon, 20 Nov 95 10:27:00 PST
> CEBAF does NOT intend to buy their C++ support, because it binds your
> code to commercial libraries which makes it more difficult to share
> code with other libraries.

As I understand it, there are two products:

  1) Basic C++ is "bundled" with Tornado, and includes:
      + C++ global constructors/destructors
      + name demangling for shells
      + g++
      + VxGDB with C/C++ mixed

  2) Unbundled "Wind Foundation Classes" which includes
      + iostream library and classes for C++
      + Rogue Wave tools.h++ classes
      + Booch classes
      + wrapper classes for system `objects' like semaphores, queues, tasks

The hint was that WFC would cost about $4K-5K for conventional projects
licensed sites.

Following are my notes from a half-day seminar.


Summary from Wind River Systems seminar on Tornado, 25 October
--------------------------------------------------------------

o Product ("Tornado") includes;
  - target: VxWorks kernel 5.3
  - target: Debug Agent
  - target: C++ global constructors/destructors
  - host+target: name demangling for shells
  - host: GNU tools including g++
  - host: GUI to VxGDB ("CrossWind") with C/C++/Assembler mixed; can debug
  	system/interrupt code 
  - host: GUI to build VxWorks ("WindConfig")
  - host: GUI control panel ("Launcher") to manage everything, also has WWW,
  	email, ftp goodies
  - host: Target Server: this is one-to-one with debug agent on each target
  	board; all host tools attach/detach to it (this is a daemon,
  	logically on machine with serial port)
  - host: GUI to shell ("Browser") tailored to system `objects'
  
o Unbundled products:

  - Wind Foundation Classes
      + iostream library and classes for C++
      + Rogue Wave tools.h++ classes
      + Booch classes
      + wrapper classes for system `objects' like semaphores, queues, tasks
  
  - VxMP, VxVMI, WindView, VxWindows (X on target)

o General Comments

Three new API's are opened up:
  - WDB: Target Server to Debug Agent; very primitive, but can get at
  	kernel as early as usrInit.c
  - WTX: tool to Target Server
  - Inter-tool events
  
All of the above have C/C++/Tcl bindings.  All GUI above built in Tcl
so you have the source.

There is a hidden daemon called the Registry.  Each Target Server knows
the user (UID) and the Registry enforces max users per license.  So
you have one Registry per project managing all the Target Server/Debug
Agent pairs.  *Claim* is that a given user managing multiple targets only
gets charged once.  Uses FlexLM floating scheme.
 
The basic gimmick is that the shell, the loader (ld/unld) and the
symbol table can be deleted from the kernel.  It is completely faked on
the host end, which resolves symbols to addresses and caches the symbol
table and all of memory, doing only absolute reads/writes to the debug
agent.  You can still keep the target versions, but no interlock if you use
both.  (NOTE: EPICS depends on symbol table on target.)  The host-based
shell *is* reentrant.

When you boot, if target shell not present, a vestigial startup.cmd 
switches to await attachment from some host.

Connections via serial, Ethernet, ICE, whatever are private to target server
and debug agent, giving some independence.

Tcl tools were very "cute" and had lots of drag-and-drop both intra- and
some inter-.  Even "spy" looked good.  For new customers, some of these
things will definitely shorten the learning curve.  Most of the benefits
accrue to short-term (time-to-market) industrial projects and especially
to users of embedded cpus with very limited RAM and connectivity (unlike
our typical VME boards).

No real technical improvements in kernel.  VxWorks 5.3 does not have
*all* of real-time POSIX yet.

MicroWorks seems to have disappeared.



Navigate by Date:
Prev: Re:when to dfan? Bonnie Madre
Next: R3.12.2 distribution Janet B. Anderson
Index: 1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Tornado watson
Next: Re: Tornado Jim B. Kowalkowski
Index: 1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·