Go to the documentation of this file.
49 #if (CH_CFG_USE_MEMCORE == TRUE) || defined(__DOXYGEN__)
82 #if CH_CFG_MEMCORE_SIZE == 0
83 extern uint8_t __heap_base__[];
84 extern uint8_t __heap_end__[];
uint8_t * basemem
Next free address.
#define CH_CFG_MEMCORE_SIZE
Managed RAM size.
void * chCoreAllocFromBase(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the lowest address upward.
#define chDbgCheck(c)
Function parameters check.
memcore_t ch_memcore
Memory core descriptor.
Type of memory core object.
#define MEM_ALIGN_PREV(p, a)
Aligns to the previous aligned memory address.
#define MEM_ALIGN_NEXT(p, a)
Aligns to the next aligned memory address.
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.
size_t chCoreGetStatusX(void)
Core memory status.
void * chCoreAllocFromTop(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the top address downward.
uint8_t * topmem
Final address.
#define MEM_IS_VALID_ALIGNMENT(a)
Returns whatever a constant is a valid alignment.
void * chCoreAllocFromTopI(size_t size, unsigned align, size_t offset)
Allocates a memory block starting from the top address downward.
#define chSysUnlock()
Leaves the kernel lock state.
#define chSysLock()
Enters the kernel lock state.