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"
71typedef void *(*memgetfunc_t)(
size_t size,
unsigned align);
76typedef void *(*memgetfunc2_t)(
size_t size,
unsigned align,
size_t offset);
102#define chCoreAllocAlignedWithOffsetI chCoreAllocFromTopI
110#define chCoreAllocAlignedWithOffset chCoreAllocFromTop
116#if !defined(__DOXYGEN__)
static void * chCoreAllocAlignedI(size_t size, unsigned align)
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.
void * chCoreAllocFromBase(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the lowest address upward.
size_t chCoreGetStatusX(void)
Core memory status.
memcore_t ch_memcore
Memory core descriptor.
void * chCoreAllocFromTopI(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the top address downward.
static void * chCoreAlloc(size_t size)
Allocates a memory block.
void * chCoreAllocFromBaseI(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the lowest address upward.
#define chCoreAllocAlignedWithOffsetI
Allocates a memory block.
static void * chCoreAllocAligned(size_t size, unsigned align)
Allocates a memory block.
void __core_init(void)
Low level memory manager initialization.
static void * chCoreAllocI(size_t size)
Allocates a memory block.
#define PORT_NATURAL_ALIGN
Natural alignment constant.
Type of memory core object.
uint8_t * basemem
Next free address.
uint8_t * topmem
Final address.