µC/TCP-IP Overview

Benefits

Drivers

PC Windows Evaluation

Licensing

Pricing Information


Product Datasheet
 



(PDF - 128 KB)

µC/TCP-IP

µC/TCP-IP is a compact, reliable, high performance TCP/IP protocol stack. Built from the ground up with Micrium's renowned quality, scalability and reliability, µC/TCP-IP enables the rapid configuration of required network options to minimize your time to market.  

FEATURES and BENEFITS

Cleanest Source Code µC/TCP-IP provides you with the highest quality source code in the industry. µC/TCP-IP is a clean-room design and is not derived from publicly available Unix stacks, yet still maintains compatibility with the Berkeley 4.4 socket layer interface. As with all Micrium products, µC/TCP-IP is written in ANSI C enabling its usage with a wide array of best-of-class cross-development tools.
Portable µC/TCP-IP can be used on 16, 32 and even some 64-bit CPUs.
High Performance µC/TCP-IP was designed specifically for the demanding requirements of embedded systems. Critical sections were kept to a minimum and selected run-time validations can be disabled to enhance performance. µC/TCP IP implements zero copy buffer management for highest efficiency.
Scalable and ROMable µC/TCP-IP allows you to adjust the memory footprint based on your requirements. µC/TCP-IP can be configured to only include only those network modules absolutely required by your system. When a module is not used, it's not included in the build to save valuable memory space for resource limited embedded systems.
Royalty Free µC/TCP-IP is licensed on a per-end-product basis. Each different product that embeds µC/TCP-IP requires a different license.


ADD-ON OPTIONS


  Description Availability
µC/DHCPc Dynamic Host Configuration Protocol (client) Now!
µC/DNSc Domain Name System (client) Now!
µC/TFTPc Trivial File Transfer Protocol (client) Now!
µC/TFTPs Trivial File Transfer Protocol (server) Now!
µC/FTPc File Transfer Protocol (client) Now!
µC/FTPs File Transfer Protocol (server) Now!
µC/HTTPs HyperText Transport Protocol (server) Now!
µC/SNTPc Simple Network Time Protocol (client) Now!
µC/POP3c Post Office Protocol 3 (client) Now!
µC/SMTPc Simple Mail Transfer Protocol (client) Now!
µC/PPPc Point-to-Point Protocol (client) 2008
µC/TELNETs Terminal Emulation Protocol (server) Now!

NOTE: The above dates are tentative dates. We will do our best to meet these but we cannot guarantee them.

 

MEMORY FOOTPRINT

The following memory footprints were derived for an ARM7 target in ARM mode using IAR's EWARM V4.20A. Compiler optimization set for maximum optimization for either size or speed as indicated. µC/TCP-IP Options set for either most disabled or all enabled.

For µC/TCP-IP, we have excluded the NIC, PHY, ISR, & BSP layers since these are NIC & board-specific.
All values are Kbytes.

ROM Size

µC/TCP-IP
Protocols Layers
All options enabled
All options disabled
Compiler
optimized
for Size
Compiler
optimized
for Speed
Compiler
optimized
for Size
Compiler
optimized
for Speed
IF
3.4    
3.4    
2.0    
2.0    
ARP
5.1    
5.4    
3.2    
3.3    
IP
11.4    
11.7    
7.7    
8.0    
ICMP
4.6    
4.7    
2.4    
2.4    
UDP
2.9    
2.9    
1.5    
1.6    
TCP
38.9    
42.3    
31.3    
35.6    
Sockets
17.2    
18.2    
11.1    
12.4    
BSD
0.6    
0.7    
0.0    
0.0    
Utils
14.0    
14.3    
8.4    
8.6    
OS + Assembly
4.5    
5.1    
4.1    
4.7    
C Library
2.5    
2.6    
1.7    
1.7    
CPU specific
0.2    
0.3    
0.0    
0.0   
µC/TCP-IP Total:
105.3    
111.5    
73.5   
80.2    


µC/TCP-IP
ADD-ON OPTIONS

Compiler
optimized
for Size
Compiler
optimized
for Speed
µC/DHCPc
7.7   
7.7   
µC/DNSc
1.9   
1.9   
µC/TFTPc
2.5   
2.6   
µC/TFTPs
2.5   
2.6   
µC/FTPs
9.5   
9.7   
µC/FTPc
5.5   
5.6   
µC/HTTPs
6.3   
6.5   
µC/SNTPc
1.5   
1.4   
µC/POP3c
3.9   
3.7   
µC/SMTPc
4.3   
4.1   
µC/PPPc
N/A  
N/A
µC/TELNETs
N/A   
N/A   

 

RAM Size

µC/TCP-IP
All options enabled
All options disabled
Base
0.5   
1.3    

To the base value, add the RAM requirements for the stack depending on the configuration switches:

Buffer requirements

Buffer =    [(200(max) + NET_BUF_CFG_DATA_SIZE_SMALL) * NET_BUF_CFG_NBR_SMALL]  +
            [(200(max) + NET_BUF_CFG_DATA_SIZE_LARGE) * NET_BUF_CFG_NBR_LARGE]

Where
      NET_BUF_CFG_DATA_SIZE_SMALL is the size of the µC/TCP-IP small network buffers (typically 256 bytes)
      NET_BUF_CFG_NBR_SMALL is number of small network buffers.
      NET_BUF_CFG_DATA_SIZE_LARGE is the size of the µC/TCP-IP large network buffers (typically 1536 bytes, one Ethernet frame)
      NET_BUF_CFG_NBR_LARGE is number of large network buffers.

Timer requireemnts

Timer = 28 * NET_TMR_CFG_NBR_TMR

Where NET_TMR_CFG_NBR_TMR is the number of timers configured.

Connections requirements

Connections = 56 * NET_CONN_CFG_NBR_CONN

Where NET_CONN_CFG_NBR_CONN is the number of connections (TCP or UDP) configured.

ARP cache requirements

ARP = 48 * NET_ARP_CFG_NBR_CACHE

Where NET_ARP_CFG_NBR_CACHE is the number of ARP cache entries configured.

TCP requirements

TCP = 276 * NET_TCP_CFG_NBR_CONN

Where NET_TCP_CFG_NBR_CONN is the number of TCP connections configured.

Sockets requirements

Sockets = 48 * NET_SOCK_CFG_NBR_SOCK

Where NET_SOCK_CFG_NBR_SOCK is the number of sockets configured.

Typical configuration

µC/TCP-IP
Number
Bytes per
Total Kbytes
Small buffers
20   
256   
9.12   
Large buffers
20   
1536   
34.72   
Timers
30   
28   
0.84   
Connections
20   
56   
1.12   
ARP cache
10   
48   
0.48   
TCP connections
10   
276   
2.76   
Sockets
10   
48   
0.48   
Total
   
49.52   

µC/TCP-IP
All options enabled
All options disabled
Base
0.5   
1.3    
Configured components
49.5   
49.5   
Total
50.0   
50.8   

ADD-ON OPTIONS

In the following table, we use some definitions:

sizeof(OS_STK) on an ARM  =    4

µC/TCP-IP
ADD-ON OPTIONS

RAM Size
Note
µC/DHCPc
1.2   
µC/DNSc DNSc_MAX_HOSTNAME_SIZE * DNSc_MAX_CACHED_HOSTNAMES
Where
DNSc_MAX_HOSTNAME_SIZE is the maximum DNS name size in characters
DNSc_MAX_CACHED_HOSTNAMES is the maximum number of cached DNS names configured.
 
µC/TFTPs sizeof(OS_STK) * TFTP_CFG_TASK_STK_SIZE Typical configuration: TFTP_CFG_TASK_STK_SIZE    = 1024
µC/FTPc sizeof(OS_STK) * FTP_CFG_TASK_STK_SIZE Typical configuration: FTP_CFG_TASK_STK_SIZE     =  512
µC/FTPs sizeof(OS_STK) * FTP_CFG_TASK_STK_SIZE Typical configuration: FTP_CFG_TASK_STK_SIZE     =  512
µC/HTTPs sizeof(OS_STK) * HTTP_CFG_TASK_STK_SIZE Typical configuration: HTTP_CFG_TASK_STK_SIZE    = 2048
µC/SNTPc
N/A   
N/A   
µC/SMTPc
1.1   
104 bytes + 1024 bytes (DATA memory)  
µC/POP3c
1.1   
128 bytes + 1004 bytes (DATA memory)   
µC/TELNETs
8.0  
N/A   
µC/PPPc
N/A   
N/A   

 

Current Limitations


Current Limitations
Planned release date

No TCP Keep-Alives

Contact us for more information
No IP multicasting
Contact us for more information
No current PING utility (ICMP Echo Request). Current µC/TCP-IP release replies with ICMP Echo Reply to ICMP Echo Request.
Contact us for more information
TCP Security & Precedence
Contact us for more information
TCP Urgent Data
Contact us for more information
ICMP Address Mask Agent/Server
Contact us for more information
IP Security options
Contact us for more information
No IP transmit fragmentation
Contact us for more information
No IP forwarding/routing
Contact us for more information

Supports a single network interface and one host IP address
Supports a single default gateway
No Multihoming

Contact us for more information