33 #define MIN_ALIGNMENT 8 35 #if defined(CCM_RAM_SIZE) 36 #ifndef CCM_BASE_ADDRESS 37 #define CCM_BASE_ADDRESS 0x10000000 39 static memory_heap_t ccm_heap;
40 static bool ccm_heap_initialised =
false;
46 #if defined(CCM_RAM_SIZE) 47 if (!ccm_heap_initialised) {
48 ccm_heap_initialised =
true;
49 chHeapObjectInit(&ccm_heap, (
void *)CCM_BASE_ADDRESS, CCM_RAM_SIZE*1024);
51 p = chHeapAllocAligned(&ccm_heap, size, CH_HEAP_ALIGNMENT);
76 void *
calloc(
size_t nmemb,
size_t size)
78 return malloc(nmemb * size);
98 totalp += chCoreGetStatusX();
100 #if defined(CCM_RAM_SIZE) 101 size_t ccm_available = 0;
102 chHeapStatus(&ccm_heap, &ccm_available,
NULL);
103 totalp += ccm_available;
void * calloc(size_t nmemb, size_t size)
void * malloc_ccm(size_t size)
size_t mem_available(void)
void * malloc(size_t size)