Virtual memory allocator that uses SPI (serial) RAM (i.e. the 23LC series from Microchip) as memory pool.
More...
|
| | SPIRAMVAllocP (VPtrSize ps, bool la, uint8_t cs, SerialRam::ESPISpeed s) |
| | Constructs (but not initializes) the allocator. More...
|
| |
| | SPIRAMVAllocP (VPtrSize ps) |
| | Constructs (but not initializes) the allocator. More...
|
| |
|
| SPIRAMVAllocP (void) |
| | Constructs (but not initializes) the allocator.
|
| |
| void | setSettings (bool la, uint8_t cs, SerialRam::ESPISpeed s) |
| | Configures the allocator. More...
|
| |
| VPtr< T, SPIRAMVAllocP< Properties > > | alloc (VPtrSize size=sizeof(T)) |
| | Allocates memory from the linked virtual memory allocator. More...
|
| |
| void | free (VPtr< T, SPIRAMVAllocP< Properties > > &p) |
| | Frees a block of virtual memory. More...
|
| |
| VPtr< T, SPIRAMVAllocP< Properties > > | newClass (VPtrSize size=sizeof(T)) |
| | Allocates memory and constructs data type. More...
|
| |
| void | deleteClass (VPtr< T, SPIRAMVAllocP< Properties > > &p) |
| | Destructs data type and frees memory. More...
|
| |
| VPtr< T, SPIRAMVAllocP< Properties > > | newArray (VPtrSize elements) |
| | Allocates and constructs an array of objects. More...
|
| |
| void | deleteArray (VPtr< T, SPIRAMVAllocP< Properties > > &p) |
| | Destructs and frees an array of objects. More...
|
| |
| void | start (void) |
| | Starts the allocator. More...
|
| |
| void | stop (void) |
| | Deinitializes the allocator. More...
|
| |
| void | setPoolSize (VPtrSize ps) |
| | Sets the total size of the memory pool. More...
|
| |
| VPtrNum | allocRaw (VPtrSize size) |
| | Allocates a piece of raw (virtual) memory. More...
|
| |
| void | freeRaw (VPtrNum ptr) |
| | Frees a memory block for re-usage. More...
|
| |
| void * | read (VPtrNum p, VPtrSize size) |
| | Reads a raw block of (virtual) memory. More...
|
| |
| void | write (VPtrNum p, const void *d, VPtrSize size) |
| | Writes a piece of raw data to (virtual) memory. More...
|
| |
| void | flush (void) |
| | Synchronizes all big memory pages. More...
|
| |
| void | clearPages (void) |
| | Synchronizes and clears all big memory pages. More...
|
| |
| uint8_t | getFreeBigPages (void) const |
| |
|
uint8_t | getUnlockedSmallPages (void) const |
| | Returns amount of small pages which are not locked.
|
| |
|
uint8_t | getUnlockedMediumPages (void) const |
| | Returns amount of medium pages which are not locked.
|
| |
|
uint8_t | getUnlockedBigPages (void) const |
| | Returns amount of big pages which are not locked.
|
| |
|
uint8_t | getSmallPageCount (void) const |
| | Returns total amount of small pages.
|
| |
|
uint8_t | getMediumPageCount (void) const |
| | Returns total amount of medium pages.
|
| |
|
uint8_t | getBigPageCount (void) const |
| | Returns total amount of big pages.
|
| |
|
VirtPageSize | getSmallPageSize (void) const |
| | Returns the size of a small page.
|
| |
|
VirtPageSize | getMediumPageSize (void) const |
| | Returns the size of a medium page.
|
| |
|
VirtPageSize | getBigPageSize (void) const |
| | Returns the size of a big page.
|
| |
| VPtrSize | getPoolSize (void) const |
| | Returns the size the memory pool. More...
|
| |
|
VPtrSize | getMemUsed (void) const |
| | Returns total memory used.
|
| |
|
VPtrSize | getMaxMemUsed (void) const |
| | Returns the maximum memory used so far.
|
| |
|
uint32_t | getBigPageReads (void) const |
| | Returns the times big pages were read (swapped).
|
| |
|
uint32_t | getBigPageWrites (void) const |
| | Returns the times big pages written (synchronized).
|
| |
|
uint32_t | getBytesRead (void) const |
| | Returns the amount of bytes read as a result of page swaps.
|
| |
|
uint32_t | getBytesWritten (void) const |
| | Returns the amount of bytes written as a results of page swaps.
|
| |
|
void | resetStats (void) |
| | Reset all statistics. Called by start()
|
| |
template<typename Properties = DefaultAllocProperties>
class virtmem::SPIRAMVAllocP< Properties >
Virtual memory allocator that uses SPI (serial) RAM (i.e. the 23LC series from Microchip) as memory pool.
This class uses an external SRAM chip as a memory pool. Interfacing occurs through the serialram library and must be installed in order to use this allocator.
- Template Parameters
-
- See also
- Using virtual memory (tutorial) and MultiSPIRAMVAllocP
- Examples:
- spiram_simple.ino.