pC/MEM



Often, a costly memory management is not necessary that can be repaired on reason of concatenations, for example. In this case, a simple memory management with a minimum af overhead of administration information is enough. The here introduced Heap-manager requires with the administration from ≥64kB 3bytes up to 4GB 5bytes overhead per entry. Additional he can administer RAM and EE-PROM parallel and gives HW-indepenend tools for write accesses to the EE-PROM memory over the port.

Storage demand the pC/MEM V1.30a:

ROM: approximately 3 KByte (without MEM_Resize approximately 1kByte)
RAM: approximately 1 bytes per user (for MEM_GetErrno)


However, it are no MMU deposited mechanisms at present. Additional bytes would be needed per entry for MMU-depended data.


pCMEM_130a.zip
Sorry, I can't make this sources accessible because of overlaps with my job !


Releases:

1.00a

first alpha-release

1.04b

Small correction of MEM_Init. Complete code optimization and adaptations for porting to other hardware.

1.10a

MEM_GetErrNo implemented. Small correction in MEM_Resize.

1.20c

MEM_CleanUp implemented and integration of for that needed task-registration into the entries.

1.30a

complete update to U08..U32 types.
better portability for RTOS-less use implemented.



Services of the pC/MEM version 1.30a (abbreviation)
This here presented function overview only serves as short overview.
For detailed information, you please look in Reference-Manual about pC/MEM.


Memory-Manager:

MEM_Init

Initialization of the Heap-Manager

MEM_Alloc

Allocation of storage

MEM_Free

release allocated storage

MEM_Resize

Size of allocated storage alters

Heap_Write_EE

on allocated EEPROM-heap write

Heap_Fill_EE

allocated EEPROM-heap fill

optional

MEM_CleanUp

release all allocated storage-elements of a task



Error-Codes:

Name

Decimal_Value

MEM_NO_ERR

0

MEM_WR_PTR

120

MEM_OVF

121

MEM_ERR

122




Types of Memory:

Name

HEX_Value

MEM_RAM

0x00

MEM_EE

0x01