[evla-sw-discuss] MIB RTOS & neyworking software

Bill Sahr bsahr at cv3.cv.nrao.edu
Mon Apr 8 15:52:42 EDT 2002


Here is the latest compilation of information on the
MIB RTOS & networking software.  No info on Java, yet,
and almost no info on tool sets, but there is enough
information in the document to do a RAM budget for
an RTOS, network stack, FTP Server, Telnet Server,
and HTTP server.

Bill
-------------- next part --------------

file:    ~/MIB_rtos.txt
author:  Bill Sahr
date:	 4/5/2002


RTOS KERNELS

product name		Nucleus PLUS			ThreadX

vendor			ATI				Express Logic

image size		avg size ranges			25KB to 30KB max,
			from 12KB to 45KB		i.e., if all OS services
							are included

additional RAM						System timer: 1KB
requirements		2KB - 8KB RAM			System Stack: 1KB
							Global vars: 800 bytes

memory model		for the TriCore -		flat, unprotected
			flat, unprotected		MMUs not supported
			(see comments 4,5)		(see comment 3)

price			$12,495.00			$12,500 for 3 seats
                        unlimited seats (?)

currently
ported to TriCore	    yes				     no

additional fee
for TriCore or		probable, amount not		 possible, amount not
TC11IB port		yet known			 yet known

time to port		6 - 8  weeks			 8 weeks (max)

royalty fees		  none				    none

support			   ?				   3 months

source code		yes, included in		yes, included in
                        purchase price			purchase price

comments: 1. The preemption threshold model implemented in ThreadX may be useful.
	  2. The same individual, Bill Lamie, was the author of both
	     Nucleus Plus & ThreadX.  ThreadX was written after Nucleus PLUS.
             These two RTOSes are so similar that the third party network vendor
             named Interniche uses the same build for both.  ThreadX claims to 
             be smaller & faster.  Those claims are probably true.
          3. I put the following question to the Express Logic (ThreadX) sales
	     rep - "Will the kernel (& tool sets) merge the 512KB and 1 MB
	     chunks of memory on the TC11IB into a "unified" memory space ?"
	     The reply was - "If the TC11IB has the ability to remap memory areas
	     then it's certainly possible to put them together.  If not, it is
	     very simple for ThreadX to manage memory in non-contiguous areas."
          4. Nucleus PLUS does support MMUs for some platforms (PPC, ARM).  For
             the TriCore, expect a flat, unprotected memory space.  It is possible
             that MMU support could be developed, but it would be an additional
             expense.
          5. With regard to a "unified" memory space - Nucleus PLUS supports
             multiple memory pools.  However, if the various memory segments are
             not contiguously addressed, Nucleus PLUS will not "unify" the segments.


NETWORKING, NETWORK STACKS

product name            Nucleus NET			Niche Stack		
                                                                                
                   								
vendor                  ATI				Interniche		
                   								
OS Support              Nucleus PLUS		        Nucleus PLUS, ThreadX,		
                        			        VxWorks, & others

protocols               TCP, UDP, IPv4, BOOTP client,   TCP, UDP, IPv4, BOOTP,      
                        IGMP, ICMP, ARP, RARP,	        IGMP available as an      
                        DNS client/resolver,            option, ICMP, ARP,        
                        DHCP client,		        DNS client, DHCP client,	
                        RIP II, TFTP client		TFTP			
                   								
socket API              Not specified.  Appears to      based on BSD 4.4, non-    
                        be a fairly complete            blocking versions of	
                        implementation of BSD sockets,  all functions available	
                        including a Select call.					
                   								
image size              avg size of 50KB to 75KB        Interniche claims that
                   					their _total_ runtime
additional RAM         For the IPv4 product,     	requirement, code + RAM,
requirements           a _total_ of approx		for an RISC type 32 bit
                       140KB of RAM is needed		processor such as ARM 
                       at run time, including           is ~ 51.5KB  
                       the executable code              Do we believe this
		       (see additonal notes)            claim ?
                   								
price                   $15,000.00			$12,000 ($9K if bundled   
                                                        with web server	product)
                   								
license model           single product			per project, per RTOS,	
                        			        per architecture		
                   								
royalty fees                no			               no			
                   								
support                     ?			        1 yr - email, www, fax    
                        			        & telephone               
                   								
source code        	yes, in purchase price          yes, in purchase price     

comments: 1. IGMP is required to support multicasting.  Multicasting is not 
             identical to broadcasting.
	  2. The Interniche products include "NicheTool", a menu driven 
             debugging/optimizing tool.
          3. The Interniche products are zero copy stacks.  Their claim for 
             speed is that for most target systems, TCP/IP transfer rates are 
             limited by processor speed.  Is this claim an oxymoron ?
          4. Adding IGMP to NicheStack to support multicasting will increase its 
             footprint by ~ 2 KB code & 850 bytes for data.


Additional Information

Nucleus NET

Please note that this may be slightly difference in the new release.
The following section contains a breakdown of the various configurable
components and data elements of NET.

 ROM Requirements:

 Base NET, only support for UDP 31.2k bytes
 Add support for TCP 20.0k bytes
 Add support for Raw IP 3.7k bytes
 Add support for BOOTP Client 2.9k bytes
 Add support for DHCP Client 8.8k bytes
 Add support for DNS Look-up 3.5k bytes
 Add support for IP Forwarding 1.4k bytes
 Add support for IP Reassembly 3.1k bytes
 Add support for IP Fragmentation 2.0k bytes
 Add support for IP Multicasting/IGMP3.3k bytes
 Add support for RARP 0.78k bytes

 RAM Requirements:

 Internal NET buffer 552 bytes (user configurable)
 UDP Connection 120 bytes
 TCP Connection 228 bytes
 Raw IP Connection 110 bytes
 Network Device Data Structure (1 per device) 187 bytes
 DHCP Client Resources (1 msg. queue,1 task) 3.2k bytes
 NET Stack Resources (1 event queue,2 tasks,1 hisr) 20.1k bytes (user
 configurable)
 DNS Server Entry 24 bytes
 DNS Host Entry 29 bytes for entry plus size of hosts name
 Route Table Entry 200 bytes


 You stated that IPv6 is not yet available, but will be in a few
 months.  Do you have an anticipated release date for IPv6?

Yes. 2nd quarter 2002 time frame. IPv6 will be sold as a separate
product costing approx 10k (price subject to change)

 Is your network stack a zero copy or one copy implementation ?

Our current release is one copy, but we have next version in beta
and it supports zero copy.


NETWORKING, NETWORK STACKS, continued

product name            Niche Lite			Turbo Treck TCP/IP         
                   	(see comment 1)                 (see comment 3)
                   	                      
vendor             	Interniche			Elmic Systems           
                   	                      
OS Support         	Nucleus PLUS,			Nucleus PLUS        
                   	ThreadX,			ThreadX,
                   	VxWorks,                        VxWorks & others
                   	& others                        (see comment 4) 
                   	                      
protocols          	TCP, UDP, IPv4,			TCP, (see comment 5) 
                        ICMP, ARP                       UDP, IPv4, ICMP, ARP
                   	TFTP    			Ethernet, SLIP, RIPv2
                   					Listener, Ping app,
                					IGMP, TFTP, DHCP, &
                					BOOTP avail as opptions.
                                                        (see comment 6)
                   	                      
socket API         	subset of BSD 4.4		BSD 4.4 sockets
                        (see comment 2)
                   	                      
image size         	 Interniche claims		For a PowerPC, adding
                   	 a _total_ runtime              together the vendor
                         requirement, code              supplied figures for
			 + RAM of ~ 13.5KB.     	the individual protocls
			 Do we believe this		gives ~ 74 KB
			 claim ?			(see comment 7)
                   	                      
additional RAM     	 see above comments		Difficult to estimate 
requirements       	 for image size                 Seems to be ~ 16 KB
							(see comment 8)
                   	                      
price              	 $12,000.00			$14,500, includes
                					integration files
                					& Ethernet drivers
                   	                      
license model      	 as per NicheStack              per product, per
							processor type  
                   	                      
royalty fees       	       no			     no
                   	                      
support            	   1yr - email, www,		90 days with purchase 
                   	   fax & phone			price.  Add'l support
                                                        is 20% of lic fee per
                                                        year.  Includes 24 hr
							response time & upgrades.
                   	                                
source code     	yes, in purchase price		yes, in purchase price


comments: 1. NicheStack supports an unlimited number of devices.  NicheLite 
             supports only one hardware device.  IGMP and multicasting are not 
             included in NicheLite. I do not know if they can be added as options. 
          2. Descriptions of the socket APIs for NicheStack & NicheLite are 
             available in my office.
          3. Very cheesey name.
          4. Elmic's TCP/IP stack uses an integration file to port to various
             operating systems.  A pre-configured integration file for ThreadX
	     is available from Elmic.  The sales rep could not tell me if an
             integration file is available for Nucleus PLUS.  She is
	     researching that question.  She was sure that some of their 
             customers are using the Turbo Treck TCP/IP stack with Nucleus
             PLUS (& with VxWorks).  A tech note on porting has to be sent.
          5. For its TCP/IP stack Elmic Systems claims zero copy to/from the
             application, inside the protocol stack, and to/from the device
             driver.  The TCP/IP stack requires a timer to signal the protocol.
	  6. The IGMP package costs $5K.  The TFTP package costs $3K.  A package
	     containing the DHCP client, relay agent, & BOOTP is available for
	     $5K.  The RAM requirements for these packages have been requested.
          7. The vendor supplied figures did not include code size for ICMP,
	     ARP, or RIPv2.
          8. The number 16 KB was arrived at by adding together the vendor
	     supplied figures for interfaces, memory, SACK, Path MTU, Speed
	     Opt, & IP frag.  (See material which follows)


Elmic Systems (Turbo Treck Products)

The vendor-supplied info re code size & RAM usage was as follows:

For a Motorola Power PPC, with all sizes in Kilobytes

		Test Mode:		Test Mode:
		Basic No Kernel		Basic Preemptive

TCP		19.2			21.1
UDP		 1.2			 1.3
IP		19.6			24.1
PPP		26.4			27.0
Sockets
Layer		 3.8			 5.0
Ethernet	 2.6			 3.0
SLIP		 1.2			 1.4
DHCP		 5.1			 6.1
FTP Client	23.3			23.3
FTP Server	13.2			14.0
IGMP		 3.5			 3.8
Telnet Client	 4.8			 6.0
TFTP Client	 4.2			 4.9
TFTP Server	 4.3			 5.1
Socket API
(low)		 2.5			 2.7
Socket API
(high)		12.4			13.3

		Basic No Kernel		Preemptive
Multiple
Interfaces	 4.0			 4.0
Treck Memory	 1.0			 1.6
SACK (?)	 1.4			 1.4
Path MTU	 1.0			 1.0
Speed Opt	 2.3			 5.4
IP Frag		 2.2			 2.4


ETHERNET DRIVERS

We will need one.  Since the TC11IB is a new chip it is unlikely that an
Ethernet driver will exist.  I am very wary of attempting to develop this
driver in-house.  It strikes me as a time sink.  It is likely that we will 
make development of the Ethernet driver a part of the RTOS port to the TC11IB,
or if we use a third part network stack, we may want to farm this job out
to the developer of the stack.  We will be charged for it, but I have no idea
of price at this time.

The salesman at ATI estimated that an Ethernet driver would require approximately
4 - 5KB for code and 0.5KB of additional RAM space.

The salespeople at Elmic Systems use a figure of ~ 3KB code for Ethernet.


EXTENDED NETWORK PACKAGES

product name(s)         Nucleus Extended		FTP Server, Telnet Server,
                        Protocol Package		
                
vendor          	    ATI				Interniche
                
OS Support      	Nucleus PLUS			as per NicheStack
                
includes        	TFTP Server, FTP client,        each product is a seaprate
                	FTP Server, Telnet		package
                        (TFTP client is provided
                	with Nucleus NET)
                
                
image size      	TFTP Server:  5- 7 KB code,    	
                	              2KB RAM	       
                	FTP client:  12-16 KB code,    
                		      3K RAM         
                        FTP Server:  16-21 KB code,	FTP Server: 32 KB code,
                	              0.5KB RAM         with all features 
							enabled, including
                                                        static data space,
                                                        + 3.5KB for each
							session

File system req'd
for FTP Server ?	yes, comment 1			yes, comment 2

                	Telnet Server:20-30 KB code,	Telnet Server: 4 KB code,
                                      8 KB RAM          + ~ 3.2KB RAM per
							connection
                
price           	$7,495.00 for the pkg		FTP Server: $3,000.00
                					Telnet Server: $6,000.00
                
source code       	yes, included in		yes, included in purchase
			purchase price			price


comments:  1. FTP servers require a filesystem.  For the ATI Nucleus line
              of products, a file abstraction layer is provided with Nucleus
	      NET that allows the FTP _client_ to use a block of memory as the
  	      physical file medium.  The Nucleus FTP Server seems to require a
              true file system.  The Nucleus FILE system does provide a RAM
	      disk driver.  I am seeking confirmation that the Nucleus FTP
	      Server can work with this RAM disk driver.
           2. The Interniche FTP Server requires a file system.  NicheFile is
	      available.  NicheFile can use RAM, flash, or disk.  It's basic
              footprint is 2 KB, and the price is $2,000.



EXTENDED NETWORK PACKAGES, continued

product name(s)		Turbo Treck TFTP
			Turbo Treck FTP (server)
			Turbo Treck Telent

vendor			Elmic Systems
                
OS Support		as per Turbo Treck 
			TCP/IP

includes		each product is a 
			separate package
                
image size		TFTP Server: 5.1 KB code
			             ? RAM
			FTP Server:  14.0 KB code
                                     ? RAM
	                FTP Client:  23.3K code
                                     ? RAM
			Telnet Server: ?  code
				       ?  RAM
		        Telnet client: 6.0 KB code
				       ? RAM

File system req'd
for FTP server ?        yes, comment 1
                
price			TFTP:   $3,000
			FTP:    $3,000
		        Telnet Server: $3,000
                
                
source code		yes, included in     
			purchase price

comments:  1. The FTP package requires a file system.  I find no mention of a 
	      a file system package on the Elmic web pages.  I will investigate
	      further.  ThreadX does offer a file package (FileX) which can use 
	      both RAM & Flash.  FileX costs $5250.00.  The footprint of FileX 
              varies from one architecture to the next.  The footprint for the
	      code varies from 5KB to 20KB, plus 500 bytes for global data
	      structures, plus 200 bytes for each media opened, plus a buffer
	      sized to hold 1 sector of data. Presumably the Turbo Treck FTP 
              Server could use this file system.  The Nucleus PLUS file system 
              also has a RAM driver.



WEB SERVERS

product name	Nucleus		   WebPort	      Turbo Treck    Turbo Treck
		WebServ			              ROMPager       ROMPager
								     Lite
                
vendor           ATI		   Interniche	      Elmic          Elmic/Allegro
                
OS Support      Nucleus		   Nucleus	      Nucleus        as per
		PLUS		   PLUS,	      PLUS,          ROMPager
				   ThreadX,	      ThreadX,
			           & others           & others
                
image size	15KB-30KB code,	   13KB code,
		7-15K RAM,         3KB static data    12-40 KB,	     8-10 KB code,
                + content          space, +           depending      2KB RAM base,
                                   2-5KB per          on options,    + 4KB RAM per
				   connection,        25KB typical   connection,
				   + content          + content      + content

file system     optional,	   optional,	      yes (?)	     yes (?)
required        Nucleus FILE       NicheFile
                (see comment 1)    (see comment 3)
				   
				

capabilities      comment 2	    comment 4         comment 5      comment 6 
                
price               $10K           $12K ($9K if          $25K          $10K
				   bundled with
				   NicheStack
                              
source code     yes, in purchase   yes, in purchase   yes, in purchase   yes (?)
		price              price              price

comments: 1. Nucleus WebServ includes a utility which can be used to select
	     files on a hard disk & convert them to a C file which contains 
	     the binary representation of the files and an associated directory.
	     This converted reprsentation then serves as an embedded file 
	     system.  Optionally, Nucleus FILE can be used.
	  2. Serves static HTML files, can build dynamic pages, can respond to
	     function execution requests, HTTP 1.0/1.1 Support, CGI (as a plugin),
	     Server Side Include (SSI), multiple concurrrent requests, Basic &
	     DES authentication.
	  3. WebPort appears to take the same approach to a file system as
             Nucleus WebPort, but the needed utility is _may_ be an optional,
	     added cost item.
	  4. HTTP 1.1 support, SSI, CGI, a "server side" push capability that
	     allows for continuous update of browser screens, Basic & DES 
	     autnentication
	  5. HTTP 1.1, CGI, dynamic HTML pages, HTML 2.0, 3.2, 4.0, stndrd &
             extended HTTP header support, Internet Printing Protocol, 
	     compilation options for speed/memory/feature tradeoffs, multiple
	     concurrent requests, GET, HEAD, POST support & more.
          6. HTTP 1.0/1.1, CGI, dynamic HTML, Basic autentication, GET, HEAD,
             POST support.


SHELLS

product	        Nucleus		Express Logic (ThreadX) does not
name            SHELL           offer a shell.  I'm not sure what
                                this statement implies about 
vendor          ATI             - debugging
                                - telnet servers
OS Support      Nucleus
		PLUS
                        
                
image size      18K code,      
                17K data
                
capabilities    comment 1                
                
price           $1,295 per
                seat
                
source code     yes

comments:  1. Is invoked by requesting status on a kernel object.  Provides info
              on all kernel objects such as tasks and queues, display & modify
	      memory, task level debugging, remote invocation of Nucleus PLUS
	      services.  The shell appears to have very limited capabilities.


PROTOTYPING TOOLS/ENVIRONMENTS

ATI provides 2 products which can be used to begin software development prior
to the availability of the target hardware.  The first product is known as
Nucleus MNT.  Nucleus MNT is, basically, a version of Nucleus PLUS that has been
adapted to run in a Windows environment.  It used the Windows thread model to
manage tasks and the Microsoft Visual C++ tool set for code development.
The second product is Nucleus NET for MNT.  Nucleus NET for MNT is a binary
bundle of the Nucleus networking products that have been ported to Nucleus MNT.
It is used to simulate (via a shared memory region) a environment which consists
of tasks running under multiple versions of Nucleus MNT within a Windows
environment.  I am unclear on the full capabilities of Nucleus Net for MNT,
but it appears to also enable communication with nodes on a physical network
via the Windows NT/2000 routing facilites.  Nucleus MNT is $995 per seat.  
Nucleus NET for MNT is also $995 per seat.

ExpressLogic provides a WIN32 port of ThreadX which would enable the development
of code under Windows that is written to the ThreadX API.  I have very little
information on this particular product.  The price for this product is $12,500
for three seats.


TOOL SUITES

There appear to be two candidates for tool sets - the Green Hills Multi IDE and
the TASKING tool suite by Altium.  Green Hills is integrated with ThreadX.
TASKING is integrated with Nucleus PLUS, and can also be used with ThreadX.
Green Hills appears to be particularly strong in the area of language support,
offering not only assembler, C, C++, and Embedded C++ (EC++), but several
variants of C++ & EC++ that enable/disable certain features of the language.
TASKING appears to be (very) strong in the area of support for the specifics of
the TriCore architecture and specific chips which use that acchitecture,
including specific support for TriCore V1.3, the PCP2 processor and the TC11IB
chip.

Tool Suite Components


Green Hills IDE
Project Builder
Source Level Debugger
Event Analyzer
Performance Profiler
Run-time Error Checking
Code Coverage Analysis
Graphical Browser
Text Editor
Version Control System
Remote Target Connection

Green Hills Toolchain
Assembler
Linker
Librarian
Run-Time Libraries

Green Hills Optimizing Compilers
C
C++
EC++

Hosts -



TASKING by Altium
EDE - Embedded software Development Environment
The EDE is a unified environment which provides a language sensitive editor and
access to all aspects of the tool chain - file management, build options, assembler,
compiler, linker/locator, CrossView Pro debugger, etc.

Assembler - specific extensions for the TC1 V1.3 architecture are available in
	    the TriCore & PCP Assembler
Linker/Locator
Run-Time Libraries

C
C++
EC++

Hosts - 

Pricing
  I do not yet have detailed info on pricing.  However, we can expect the
tool sets to cost ~ %5.5K to $6.5K per seat for a node-locked license.


JAVA
  I have not yet had the opporutnity to explore Java platforms/JVMs.


Sample configurations

I'm going to start with the networking software becuase it is, in many respects, 
the most complex.  In his email of 3/8/2002, (subject: eVLA discussion March
12),Barry listed the follwoing items as a starter list for the networking
software: 

Socket connection
UDP (directed & broadcast)
NFS
FTP (client & server)
rlogin or telnet (client & server)

and discussion of thiese points led to the addition of 

ICMP
HTTP
IPv6

My attempt to translate these requirements into the terms of this document
results in the following:

NETWORK STACK, including
TCP
UDP
IPv4
ICMP   
ARP
TFTP client
sockets layer
sockets API

ethernet driver

Ipv6 is not yet available from the vendors queried for this report.  Most or all
expect to have it available in Q2 or Q3 of 2002.  Most or all plan a dual
stack implementation that will support both IPv4 & IPv6.  The IPv6 stacks will
probably be fairly expensive (~ $10 - $15K), and will consume more RAM than the 
IPv4 versions.

NETWORK "PACKAGES", including

TFTP Server
FTP Server
Filesystem for FTP Server
FTP Client
Telnet Server
Telnet Client
HTTP Server

No one at any time, on any web site, or in any conversation mentioned NFS.  I
admit to having forgotten about NFS in the course of my research.  I can/will
ask about it, but I doubt that it is available.


RAM BUDGET

NETWORK STACK
All of the network stacks except NicheLite include at least a few protocols not
mentioned above - typically, BOOTP, DNS client, DHCP client, and in some cases
RIP and RARP.  Since most or all of the stacks are implemented as libraries
which do not include unused/unreferenced components, I will attempt to make
adjustments based on vendor-supplied info where possible.  The estimated amount
of additional RAM is based on one connection.  I do not really have enough
expertise or information to estimate the amount meeded for additional
connections. 

product	        Nucleus      Niche          Niche           Turbo Treck
name	        NET          Stack          Lite            TCP/IP

vendor          ATI	     Interniche     Interniche      Elmic Systems

estimated       60KB	     claim a 	    claim a	    70KB
code size                    _total_        _total_
		             runtime        runtime
estimated      21.5KB        requirement    requirement	    16KB
add'l RAM		     of < 40KB      of < 13.5KB

Ethernet 
Driver     A reasonable estimate seems to be ~ 5KB code, 0.5 KB RAM 
      
Total          ~ 87 KB	     ~ 45.5 KB	    ~ 19 KB       ~ 81.5 KB

socket API     BSD-based     BSD 4.4,       _subset_	    BSD 4.4
			     non-blocking   of BSD 4.4
			     calls avail

Codes size for Nucleus NET was computed by taking the max of the avg size (75KB) 
and subtracting the figures given by ATI for BOOTP, DHCP client, DNS client, and 
RARP.  IGMP and RIP II are also included in the Nucleus NET stack.  For IGMP, I
averaged the figures given by Elmic (3.8KB) and Interniche (2.8KB) and
subtracted the result.  RIP II was ignored as I have no information.

Code size for Turbo Treck was based on adding the sizes given for TCP, UDP,
IPv4, socket layer, socket API, TFTP client, and add a few KB to account for
ICMP and ARP.  RAM requirements were taken simply as the sum of the
vendor-supplied figures.

The Interniche stacks include NicheTool, a debugging & optimizing tool.


NETWORK PACKAGES

vendor	      ATI-Nucleus     Interniche	  Elmic Systems    Elmic Systems

TFTP	      7 - 9 KB	      4K code		  5.1 KB code
Server	      code + RAM      1.7K data 	  ? RAM
                              combined
			      client & srvr

FTP Server    16.5-21.5KB     ~ 14KB		  14.0 KB code,
	      code + RAM      code + RAM          ? RAM
                              combined 
                              client & server

FTP Client    15 - 19 KB      ~ 14KB		  23.3K code
	      code + RAM      code & RAM	  ? RAM
			      combined
			      client & server

Telnet        28 - 38 KB      28.5KB code +           ?
Server        code + RAM      data + 3.5 KB
                              per connection,
			      call it 32 KB

Telnet		  ?	      not		   6.0 KB code
Client			      avail ?              ? RAM

HTTP	      WebServ         WebPort             ROMpager	   ROMPager Lite
Server,       22 - 45 KB      18 - 21 KB          25 KB typical    10 - 12KB
exclusive     code + data     code + data,			   code + data,
of content		      2-5 KB per                           + 4KB per
		              connection,			   connection,
			      call it            		   call it 15 KB
                              23.5 KB
                              comment 1.

file system
required      optional        optional		  yes (?)	   yes (?)
for HTTP
server 

comments:  1. The Interniche WebPort HTTP server has a feature of potential
              interest to us - a server-side push facility that allows for 
	      the continuous update of browser screens.


File system for FTP Server

To help simplify my life, I will examine only the filesystems associated with
the two RTOSes - Nucleus FILE and FileX.

Nucleus FILE - from 30KB to 45KB for the code + ~ 7KB for data.  For the
purposes of the RAM budget, I will use the figure 47KB.  Nucleus FILE does come
with a RAM disk driver & can use those flash devices on the market which emulate
an ATA/IDE disk.  To use raw flash for the file system a media manager layer is
required.  ATI does not offer the media manager, but they are aware of several
third part sources.

FileX - 5KB to 20KB depending on processor architecture, plus 500 bytes for
global data structures, plus 200 bytes for each media opened, plus a buffer
sized to hold 1 sector of data.  Take 20KB as the code size, 1 media opened,
and 512 bytes as a sector size: total ~ 21.2 KB.


Totals

vendor/    ATI-Nucleus   Interniche    Interniche      Elmic Systems
product    networking    NicheStack    NicheLite
           software

Network    ~ 87 KB	 ~ 45.5 KB     ~ 19 KB		~ 81.5 KB
Stack

FTP        ~ 20 KB	 ~ 14 KB       ~ 14 KB  	~ 17 KB
Server

Telnet     ~ 33 KB	 ~ 32 KB       ~ 32 KB  	   ?
Server

HTTP       ~ 35 KB	 ~ 23.5 KB     ~ 23.5 KB 	~ 25 KB	  or  ~ 15 KB
Server                                                  (ROMPager)    (Lite ver)

Totals     ~ 175 KB      ~ 115 KB      ~ 88.5 KB           ?            ?


+ 47KB for Nucleus FILE _or_ 16.2KB for FileX

+ the RTOS kernels.  I'm going to use the max sizes for the RTOS kernels -
45KB for Nucleus PLUS and 30KB for ThreadX.

Possible combinations

Nucleus PLUS     45.0KB     Nucleus PLUS    45.0KB     Nucleus PLUS     45.0KB
Nucleus FILE     47.0KB     Nucleus FILE    47.0KB     Nucleus FILE     47.0KB
Nucleus NET +               Interniche                 Interniche
Nucleus Srvrs   175.0KB     Stack &        115.0KB     Lite &           88.5KB
			    Servers                    Servers
                -------                    --------                    -------
Totals		267.0KB                    207.0KB		       180.5KB


Nucleus PLUS     45.0KB     Nucleus PLUS     45.0KB
Nucleus FILE     47.)KB     Nucleus FILE     47.0KB
Elmic Systems               Elmic Systems
Stack & Srvrs     ?         Stack & Srvrs     ?
with ROMPager		    with ROMPager
                -------     Lite             --------
Totals


ThreadX		 30.0 KB    ThreadX	    30.0 KB   
FileX		 21.2 KB    FileX           21.2 KB
Interniche                  Interniche   
Stack &         115.0 KB    Lite &          88.5 KB
Servers                     Servers
                --------                   --------
Totals          166.2KB                     139.7KB


Threadx          30.0 KB    ThreadX         30.0 KB
FileX            16.2 KB    FileX           16.2 KB
Elmic Systems               Elmic Systems
Stack & Srvrs      ?        Stack & Srvrs
with ROMPager               with ROMPager
                --------    Lite           --------
Totals



PRICING

Interniche offers bundled pricing, sometimes with considerable discounts.  To
get accurate figures we must supply them with a list of all of the components we
desire and get a quote.


More information about the evla-sw-discuss mailing list