Skip to content

Commit

Permalink
add mbed_heap_size_total var
Browse files Browse the repository at this point in the history
  • Loading branch information
JojoS62 committed Jan 6, 2025
1 parent 3d82f3c commit cdb83c2
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 7 deletions.
4 changes: 4 additions & 0 deletions cmsis/device/rtos/TOOLCHAIN_GCC_ARM/mbed_boot_gcc_arm.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
1 change: 1 addition & 0 deletions cmsis/device/rtos/include/mbed_boot.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
9 changes: 2 additions & 7 deletions platform/source/mbed_alloc_wrappers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down
1 change: 1 addition & 0 deletions platform/source/mbed_retarget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 4 additions & 0 deletions platform/source/mbed_sdk_boot.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down

0 comments on commit cdb83c2

Please sign in to comment.