diff --git a/bsp/nrf5x/nrf52840/board/board.h b/bsp/nrf5x/nrf52840/board/board.h index f808960780..5357cca291 100644 --- a/bsp/nrf5x/nrf52840/board/board.h +++ b/bsp/nrf5x/nrf52840/board/board.h @@ -17,11 +17,12 @@ extern int Image$$RW_IRAM1$$ZI$$Limit; #pragma section="CSTACK" #define HEAP_BEGIN (__segment_end("CSTACK")) #else -extern int __bss_end; -#define HEAP_BEGIN ((void *)&__bss_end) +extern int __bss_end__; +#define HEAP_BEGIN ((void *)&__bss_end__) #endif -#define HEAP_END (0x20000000 + 64*1024) +#define HEAP_SIZE 16*1024 +#define HEAP_END (HEAP_BEGIN + HEAP_SIZE) void rt_hw_board_init(void); diff --git a/bsp/nrf5x/nrf52840/board/linker_scripts/link.lds b/bsp/nrf5x/nrf52840/board/linker_scripts/link.lds new file mode 100644 index 0000000000..9a9609eed7 --- /dev/null +++ b/bsp/nrf5x/nrf52840/board/linker_scripts/link.lds @@ -0,0 +1,16 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x0, LENGTH = 0x100000 + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x40000 + CODE_RAM (rwx) : ORIGIN = 0x800000, LENGTH = 0x10000 +} + +INCLUDE "packages/nrfx-v2.1.0/mdk/nrf_common.ld" + + + diff --git a/bsp/nrf5x/nrf52840/rtconfig.py b/bsp/nrf5x/nrf52840/rtconfig.py index c1c6022558..219d20d303 100644 --- a/bsp/nrf5x/nrf52840/rtconfig.py +++ b/bsp/nrf5x/nrf52840/rtconfig.py @@ -43,7 +43,7 @@ if PLATFORM == 'gcc': DEVICE = ' -mcpu=cortex-m4 -mthumb -ffunction-sections -fdata-sections' CFLAGS = DEVICE AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' - LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-nrf52832.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds' + LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds' CPATH = '' LPATH = ''