MEMORY FOOTPRINT
The following memory footprints were derived for µC/TCP-IP V1.91 on an ARM7 target in ARM mode using IAR's EWARM V4.41A.
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 |
6.1 |
6.2 |
3.6 |
3.7 |
IP |
13.3 |
13.6 |
8.5 |
8.8 |
ICMP |
5.3 |
5.4 |
2.6 |
2.6 |
UDP |
3.4 |
3.4 |
1.8 |
1.8 |
TCP |
42.9 |
47.8 |
33.5 |
38.5 |
Sockets |
24.6 |
25.8 |
12.2 |
12.94 |
BSD |
0.6 |
0.7 |
0.0 |
0.0 |
Utils |
9.2 |
9.5 |
16.3 |
16.6 |
OS |
5.1 |
5.8 |
4.1 |
4.7 |
Assembly |
0.4 |
0.4 |
0.0 |
0.0 |
µC/LIB V1.24 |
2.5 |
2.6 |
0.5 |
0.5 |
µC/CPU V.17 |
0.2 |
0.3 |
0.0 |
0.0 |
µC/TCP-IP Total: |
121.5 |
129.2 |
77.4 |
84.4 |
µ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/HTTPs |
6.3 |
6.5 |
µC/FTPs |
9.5 |
9.7 |
µC/FTPc |
5.5 |
5.6 |
µC/TFTPs |
2.5 |
2.6 |
µC/TFTPc |
2.5 |
2.6 |
µC/SNTPc |
1.5 |
1.4 |
µC/POP3c |
3.9 |
3.7 |
µC/SMTPc |
4.3 |
4.1 |
µC/TELNETs |
3.7 |
3.8 |
RAM Size
Add the RAM requirements for the stack depending on the configuration switches:
Buffer requirements
Buffer = [(208(max) + NET_BUF_CFG_DATA_SIZE_SMALL) * NET_BUF_CFG_NBR_SMALL] +
[(208(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
|
| Small buffers |
20 |
256 |
| Large buffers |
20 |
1536 |
| Timers |
30 |
28 |
| Connections |
20 |
56 |
| ARP cache |
10 |
48 |
| TCP connections |
10 |
276 |
| Sockets |
10 |
48 |
µC/TCP-IP
|
All options enabled
|
All options disabled
|
| Configured components |
54.8 |
54.0 |
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 |
Based on |
Note
|
| µC/DHCPc |
3.4 |
|
|
| µC/DNSc |
8.8 |
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/HTTPs |
17.7 |
sizeof(OS_STK) * HTTP_CFG_TASK_STK_SIZE |
Typical configuration: HTTP_CFG_TASK_STK_SIZE = 2048 |
| µC/FTPs |
27.1 |
sizeof(OS_STK) * FTP_CFG_TASK_STK_SIZE |
Typical configuration: FTP_CFG_TASK_STK_SIZE = 512 |
| µC/FTPc |
0.1 |
sizeof(OS_STK) * FTP_CFG_TASK_STK_SIZE |
Typical configuration: FTP_CFG_TASK_STK_SIZE = 512 |
| µC/TFTPs |
8.6 |
sizeof(OS_STK) * TFTP_CFG_TASK_STK_SIZE |
Typical configuration: TFTP_CFG_TASK_STK_SIZE = 1024 |
| µC/TFTPc |
2.0 |
sizeof(OS_STK) * TFTP_CFG_TASK_STK_SIZE |
Typical configuration: TFTP_CFG_TASK_STK_SIZE = 1024 |
| µC/SNTPc |
N/A |
|
|
| µC/SMTPc |
1.0 |
|
104 bytes + 1024 bytes (DATA memory) |
| µC/POP3c |
1.1 |
|
128 bytes + 1004 bytes (DATA memory) |
| µC/TELNETs |
4.1 |
|
|
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 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 |
|