Go to the documentation of this file.
31 #if (CH_CFG_USE_MEMCORE == TRUE) || defined(__DOXYGEN__)
52 #if !defined(CH_CFG_MEMCORE_SIZE) || defined(__DOXYGEN__)
53 #define CH_CFG_MEMCORE_SIZE 0
60 #if CH_CFG_MEMCORE_SIZE < 0
61 #error "invalid CH_CFG_MEMCORE_SIZE value specified"
71 typedef void *(*memgetfunc_t)(
size_t size,
unsigned align);
76 typedef void *(*memgetfunc2_t)(
size_t size,
unsigned align,
size_t offset);
102 #define chCoreAllocAlignedWithOffsetI chCoreAllocFromTopI
110 #define chCoreAllocAlignedWithOffset chCoreAllocFromTop
116 #if !defined(__DOXYGEN__)
uint8_t * basemem
Next free address.
void * chCoreAllocFromBase(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the lowest address upward.
memcore_t ch_memcore
Memory core descriptor.
static void * chCoreAlloc(size_t size)
Allocates a memory block.
Type of memory core object.
#define PORT_NATURAL_ALIGN
Natural alignment constant.
void * chCoreAllocFromBaseI(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the lowest address upward.
void __core_init(void)
Low level memory manager initialization.
static void * chCoreAllocI(size_t size)
Allocates a memory block.
size_t chCoreGetStatusX(void)
Core memory status.
#define chCoreAllocAlignedWithOffsetI
Allocates a memory block.
void * chCoreAllocFromTop(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the top address downward.
#define chCoreAllocAlignedWithOffset
Allocates a memory block.
uint8_t * topmem
Final address.
static void * chCoreAllocAligned(size_t size, unsigned align)
Allocates a memory block.
void * chCoreAllocFromTopI(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the top address downward.
static void * chCoreAllocAlignedI(size_t size, unsigned align)
Allocates a memory block.