eCos provides the standard library functions used for allocating
memory from the heap. malloc()
allocates a
block of memory of
size
bytes. calloc()
performs the same, but also sets the memory to zero. The
function free()
returns a block to the
pool. realloc
resizes a block of
memory. Lastly, mallinfo()
returns
information about the heap, as described by the structure
mallinfo
:
struct mallinfo { int arena; /* total size of memory arena */ int ordblks; /* number of ordinary memory blocks */ int smblks; /* number of small memory blocks */ int hblks; /* number of mmapped regions */ int hblkhd; /* total space in mmapped regions */ int usmblks; /* space used by small memory blocks */ int fsmblks; /* space available for small memory blocks */ int uordblks; /* space used by ordinary memory blocks */ int fordblks; /* space free for ordinary blocks */ int keepcost; /* top-most, releasable (via malloc_trim) space */ int maxfree; /* (NON-STANDARD EXTENSION) size of largest free block */ }; |