Memory Use

Top  Previous  Next

The stack's most significant memory requirement is space for buffers.

 

There are two isolated buffer spaces. One is used for allocation of small (128B) areas of memory in the stack known as mbufs. The other is used to allocate clusters that are 2KB in size. It is your responsibility to allocate memory for both of these spaces during the initialization of the stack.

 

You can allocate these buffer spaces from either internal or external memory. Both L1 and L2 caches can be enabled for this locations; enabling the L2 cache can bring significant performance improvements when the buffers are in external memory.

 

You can find more information about these buffers under initialization.

 

The TCP/IP support module allocates some memory dynamically from the processor heap, so you must give a suitable amount of space for this when you declare the processor.

Dragons003The amount of memory required from the processor heap has not yet been finalized, but allocating 8MB should always be enough.

 

PROCESSOR test SMT362 HEAP=8M

 

You can do this from this Diamond IDE by putting the heap attribute in the extra options area for the processor. Double-click the processor in the Diamond source view and expand the Advanced area:

 

ProcHeap