Memory Requirements

Stack and Heap

Minimum stack size should be 2048 bytes, minimum heap size should be at least 2048 bytes.


All other memories (buffers, etc.) are user-defined and application specific and may be allocated statically or dynamically.


netlib Code Section

The net.lib library uses two special code sections:

  • .nettextfast
  • .nettextslow

Performance critical functions are located in .nettextfast and should be mapped to fastest memory in the linker command file. .nettextslow can be linked to slower memory without noticeable performance penalties.


Example linker command instructions

Example linker command file: Refer to Example Linker Command File

Definition in application linker command file App.cmd:

#define NETSECFAST SARAM1
#define NETSECSLOW SDRAM
#include "../../../Libs/Netlib/net.cmd"


Memory assignment in netlib linker command file \Libs\Netlib\net.cmd by using previous definition:

SECTIONS
{
.nettextfast > NETSECFAST /* fast netlib code */
.nettextslow > NETSECSLOW /* slow netlib code */
}




Common Modules Code Section

The Common Support Modules included with the Support SW can also be linked to external memory, since no time-critical function is defined within these modules. Use the following linker instruction to link these modules to external memory:


Definition in application linker command file App.cmd:

/* #define COMMONSECTIONS DARAM all common modules linked to internal RAM */
#define COMMONSECTIONS SDRAM /* all common modules linked to external RAM */
#include "../../../Common/CommonSections.cmd"


Memory assignment in linker command file \Common\CommonSections.cmd by using previous definition:

SECTIONS
{
/*------------------------------------------------------------------------*/
/* Support functions */
/*------------------------------------------------------------------------*/
.uarttext > COMMONSECTIONS /* UART code */
.cprintftext > COMMONSECTIONS /* CPrintf section */
.commontext > COMMONSECTIONS /* common code */
}




Code and Data Size

Required Code and Data size depends on used protocols and sockets:

CCS5.5, CGTools 4.4.1, netlib 2.85
Code Size:
Adapter + MAC + PHY 8671 bytes
ARP 2056 bytes
Sockets 6136 bytes
IP 1288 bytes
ICMP 842 bytes
UDP 1501 bytes
TCP 9590 bytes
DNS 859 bytes
DHCP 2998 bytes
Stack Size: 2048 bytes
Heap Size:
Adapter/PHY 236 bytes
per UDP/ICMP Socket 504 bytes
per TCP Socket 644 bytes
Static RAM:
ARP Cache 2704 bytes
TCP sequence number cache 5172 bytes