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.
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. |
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 |