Nanostack Border Router is a generic mbed border router implementation that provides the 6LoWPAN ND or Thread border router initialization logic.

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers nanostack_heap_region.c Source File

nanostack_heap_region.c

00001 /*
00002  * Copyright (c) 2019 ARM Limited. All rights reserved.
00003  */
00004 
00005 #include "nsdynmemLIB.h"
00006 
00007 /* Enable nanostack extended heap only for specific targets and toolchains */
00008 #if (MBED_CONF_APP_NANOSTACK_EXTENDED_HEAP == true)
00009 
00010 #if defined(TARGET_K64F)
00011 #define NANOSTACK_EXTENDED_HEAP_REGION_SIZE (60*1024)
00012 #endif
00013 
00014 #if defined(TARGET_NUCLEO_F429ZI)
00015 #define NANOSTACK_EXTENDED_HEAP_REGION_SIZE (60*1024)
00016 #endif
00017 
00018 #if defined(TARGET_DISCO_F769NI)
00019 #define NANOSTACK_EXTENDED_HEAP_REGION_SIZE (250*1024)
00020 #endif
00021 
00022 #if defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ASM__) || defined(__ICCARM__)
00023 // currently - no IAR suport
00024 #undef NANOSTACK_EXTENDED_HEAP_REGION_SIZE
00025 #endif
00026 
00027 #endif // MBED_CONF_APP_NANOSTACK_EXTENDED_HEAP
00028 
00029 
00030 #ifdef NANOSTACK_EXTENDED_HEAP_REGION_SIZE
00031 
00032 // Heap region for GCC_ARM, ARMCC and ARMCLANG
00033 static uint8_t nanostack_extended_heap_region[NANOSTACK_EXTENDED_HEAP_REGION_SIZE];
00034 
00035 void nanostack_heap_region_add(void)
00036 {
00037     ns_dyn_mem_region_add(nanostack_extended_heap_region, NANOSTACK_EXTENDED_HEAP_REGION_SIZE);
00038 }
00039 
00040 #else // NANOSTACK_EXTENDED_HEAP_REGION_SIZE
00041 
00042 void nanostack_heap_region_add(void)
00043 {
00044 }
00045 
00046 #endif // NANOSTACK_EXTENDED_HEAP_REGION_SIZE