Nanostack Border Router is a generic mbed border router implementation that provides the 6LoWPAN ND or Thread border router initialization logic.
Diff: source/nanostack_heap_region.c
- Revision:
- 105:d9f83743ed4f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/source/nanostack_heap_region.c Thu Sep 26 10:02:16 2019 +0100 @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2019 ARM Limited. All rights reserved. + */ + +#include "nsdynmemLIB.h" + +/* Enable nanostack extended heap only for specific targets and toolchains */ +#if (MBED_CONF_APP_NANOSTACK_EXTENDED_HEAP == true) + +#if defined(TARGET_K64F) +#define NANOSTACK_EXTENDED_HEAP_REGION_SIZE (60*1024) +#endif + +#if defined(TARGET_NUCLEO_F429ZI) +#define NANOSTACK_EXTENDED_HEAP_REGION_SIZE (60*1024) +#endif + +#if defined(TARGET_DISCO_F769NI) +#define NANOSTACK_EXTENDED_HEAP_REGION_SIZE (250*1024) +#endif + +#if defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ASM__) || defined(__ICCARM__) +// currently - no IAR suport +#undef NANOSTACK_EXTENDED_HEAP_REGION_SIZE +#endif + +#endif // MBED_CONF_APP_NANOSTACK_EXTENDED_HEAP + + +#ifdef NANOSTACK_EXTENDED_HEAP_REGION_SIZE + +// Heap region for GCC_ARM, ARMCC and ARMCLANG +static uint8_t nanostack_extended_heap_region[NANOSTACK_EXTENDED_HEAP_REGION_SIZE]; + +void nanostack_heap_region_add(void) +{ + ns_dyn_mem_region_add(nanostack_extended_heap_region, NANOSTACK_EXTENDED_HEAP_REGION_SIZE); +} + +#else // NANOSTACK_EXTENDED_HEAP_REGION_SIZE + +void nanostack_heap_region_add(void) +{ +} + +#endif // NANOSTACK_EXTENDED_HEAP_REGION_SIZE