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__[];
87 ch_memcore.
nextmem = __heap_base__;
88 ch_memcore.
endmem = __heap_end__;
93 ch_memcore.
nextmem = &static_heap[0];
125 if ((next > ch_memcore.
endmem) || (next < ch_memcore.
nextmem)) {
void * chCoreAllocAlignedWithOffset(size_t size, unsigned align, size_t offset)
Allocates a memory block.
static void chSysLock(void)
Enters the kernel lock state.
void * chCoreAllocAlignedWithOffsetI(size_t size, unsigned align, size_t offset)
Allocates a memory block.
void _core_init(void)
Low level memory manager initialization.
Type of memory core object.
static void chSysUnlock(void)
Leaves the kernel lock state.
#define MEM_IS_VALID_ALIGNMENT(a)
Returns whatever a constant is a valid alignment.
memcore_t ch_memcore
Memory core descriptor.
#define chDbgCheck(c)
Function parameters check.
#define CH_CFG_MEMCORE_SIZE
Managed RAM size.
size_t chCoreGetStatusX(void)
Core memory status.
void chDbgCheckClassI(void)
I-class functions context check.
uint8_t * nextmem
Next free address.
ChibiOS/RT main include file.
#define MEM_ALIGN_NEXT(p, a)
Aligns to the next aligned memory address.
uint8_t * endmem
Final address.