add mbed_heap_size_total var

pull/15531/head
Johannes Stratmann 2025-01-06 15:30:27 +01:00
parent 3d82f3ca66
commit cdb83c2ed7
5 changed files with 12 additions and 7 deletions

View File

@ -60,9 +60,13 @@ void software_init_hook(void)
mbed_heap_size = (uint32_t) &__mbed_krbs_start - (uint32_t) &__mbed_sbrk_start;
mbed_heap_start_0 = (unsigned char *) &__mbed_sbrk_start_0;
mbed_heap_size_0 = (uint32_t) &__mbed_krbs_start_0 - (uint32_t) &__mbed_sbrk_start_0;
mbed_heap_size_total = mbed_heap_size + mbed_heap_size_0;
#else
mbed_heap_start = (unsigned char *) &__end__;
mbed_heap_size = (uint32_t) &__HeapLimit - (uint32_t) &__end__;
mbed_heap_size_total = mbed_heap_size;
#endif
mbed_init();

View File

@ -57,6 +57,7 @@ extern "C" {
/* Heap limits - only used if set */
extern unsigned char *mbed_heap_start;
extern uint32_t mbed_heap_size;
extern uint32_t mbed_heap_size_total;
#if defined(MBED_SPLIT_HEAP)
extern unsigned char *mbed_heap_start_0;

View File

@ -73,13 +73,8 @@ static int get_malloc_block_total_size(void *ptr)
void mbed_stats_heap_get(mbed_stats_heap_t *stats)
{
#if MBED_HEAP_STATS_ENABLED
extern uint32_t mbed_heap_size;
heap_stats.reserved_size = mbed_heap_size;
#if defined(MBED_SPLIT_HEAP)
extern uint32_t mbed_heap_size_0;
heap_stats.reserved_size += mbed_heap_size_0;
#endif
extern uint32_t mbed_heap_size_total;
heap_stats.reserved_size = mbed_heap_size_total;
malloc_stats_mutex->lock();
memcpy(stats, &heap_stats, sizeof(mbed_stats_heap_t));

View File

@ -119,6 +119,7 @@ extern const char __stderr_name[] = "/stderr";
unsigned char *mbed_heap_start = 0;
uint32_t mbed_heap_size = 0;
uint32_t mbed_heap_size_total = 0;
#if defined(MBED_SPLIT_HEAP)
unsigned char *mbed_heap_start_0 = 0;

View File

@ -174,9 +174,13 @@ void software_init_hook(void)
mbed_heap_size = (uint32_t) &__mbed_krbs_start - (uint32_t) &__mbed_sbrk_start;
mbed_heap_start_0 = (unsigned char *) &__mbed_sbrk_start_0;
mbed_heap_size_0 = (uint32_t) &__mbed_krbs_start_0 - (uint32_t) &__mbed_sbrk_start_0;
mbed_heap_size_total = mbed_heap_size + mbed_heap_size_0;
#else
mbed_heap_start = (unsigned char *) &__end__;
mbed_heap_size = (uint32_t) &__HeapLimit - (uint32_t) &__end__;
mbed_heap_size_total = mbed_heap_size;
#endif
mbed_init();