This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Compiling issues for "light switch" examples in MESH SDK 3.0.0 (NRF52840 PCA10056/PCA10059)

Hello All,

I am having issues compiling the "light_switch_client_nrf52840_xxAA_s140_6.1.0" and "light_switch_server_nrf52840_xxAA_s140_6.1.0" example found in the Mesh SDK.

It is returning 51 errors for both, of which are listed.

Building ‘light_switch_client_nrf52840_xxAA_s140_6.1.0’ from solution ‘light_switch_client_nrf52840_xxAA_s140_6.1.0’ in configuration ‘Debug’
  Linking light_switch_client_nrf52840_xxAA_s140_6.1.0.elf
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/light_switch_client_nrf52840_xxAA_s140_6.1.0.elf section `.text.sd_app_evt_wait' will not fit in region `UNPLACED_SECTIONS'
    region `UNPLACED_SECTIONS' overflowed by 120588 bytes
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/obj/thumb_crt0.o: In function `memory_set':
    (.init+0xd8): undefined reference to `__stack_end__'
    (.init+0xdc): undefined reference to `__stack_start__'
    (.init+0xe0): undefined reference to `__stack_process_end__'
    (.init+0xe4): undefined reference to `__stack_process_start__'
    (.init+0xe8): undefined reference to `__data_load_start__'
    (.init+0xec): undefined reference to `__data_start__'
    (.init+0xf0): undefined reference to `__data_end__'
    (.init+0xf4): undefined reference to `__text_load_start__'
    (.init+0xf8): undefined reference to `__text_start__'
    (.init+0xfc): undefined reference to `__text_end__'
    (.init+0x100): undefined reference to `__fast_load_start__'
    (.init+0x104): undefined reference to `__fast_start__'
    (.init+0x108): undefined reference to `__fast_end__'
    (.init+0x10c): undefined reference to `__ctors_load_start__'
    (.init+0x110): undefined reference to `__ctors_start__'
    (.init+0x114): undefined reference to `__ctors_end__'
    (.init+0x118): undefined reference to `__dtors_load_start__'
    (.init+0x11c): undefined reference to `__dtors_start__'
    (.init+0x120): undefined reference to `__dtors_end__'
    (.init+0x124): undefined reference to `__rodata_load_start__'
    (.init+0x128): undefined reference to `__rodata_start__'
    (.init+0x12c): undefined reference to `__rodata_end__'
    (.init+0x130): undefined reference to `__tdata_load_start__'
    (.init+0x134): undefined reference to `__tdata_start__'
    (.init+0x138): undefined reference to `__tdata_end__'
    (.init+0x13c): undefined reference to `__bss_start__'
    (.init+0x140): undefined reference to `__bss_end__'
    (.init+0x144): undefined reference to `__tbss_start__'
    (.init+0x148): undefined reference to `__tbss_end__'
    (.init+0x14c): undefined reference to `__heap_start__'
    (.init+0x150): undefined reference to `__heap_end__'
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/obj/ses_startup_nrf52840.o: In function `_vectors':
    (.vectors+0x0): undefined reference to `__stack_end__'
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/obj/nrf_sdh_ble.o: In function `nrf_sdh_ble_app_ram_start_get':
    nrf_sdh_ble.c:(.text.nrf_sdh_ble_app_ram_start_get+0x10): undefined reference to `__app_ram_start__'
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/obj/nrf_sdh.o:(.rodata.sdh_req_observers+0x0): undefined reference to `__start_sdh_req_observers'
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/obj/nrf_sdh.o:(.rodata.sdh_req_observers+0x4): undefined reference to `__stop_sdh_req_observers'
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/obj/nrf_sdh.o:(.rodata.sdh_stack_observers+0x0): undefined reference to `__start_sdh_stack_observers'
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/obj/nrf_sdh.o:(.rodata.sdh_stack_observers+0x4): undefined reference to `__stop_sdh_stack_observers'
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/obj/nrf_sdh.o:(.rodata.sdh_state_observers+0x0): undefined reference to `__start_sdh_state_observers'
    build/light_switch_client_nrf52840_xxAA_s140_6.1.0_Debug/obj/nrf_sdh.o:(.rodata.sdh_state_observers+0x4): undefined reference to `__stop_sdh_state_observers'
    C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 4.12/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi.a(libc2.o): In function `malloc':
    libc2.c:(.text.libc.malloc+0x88): undefined reference to `__heap_end__'
    libc2.c:(.text.libc.malloc+0x8c): undefined reference to `__heap_start__'
    C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 4.12/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi.a(libc2.o): In function `free':
    libc2.c:(.text.libc.free+0xbc): undefined reference to `__heap_start__'
    libc2.c:(.text.libc.free+0xc0): undefined reference to `__heap_end__'
    C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 4.12/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi.a(libc2.o):(.data.libc.heap+0x0): undefined reference to `__heap_start__'
Build failed

I am using Segger Embedded Studio v4.1.2 with nRF52 SDK v15.2 and nRF SDK Mesh 3.0.0.

Preprocessor was defined as follow:

 

BOARD_PCA10059
BSP_DEFINES_ONLY
CONFIG_GPIO_AS_PINRESET
FLOAT_ABI_HARD
INITIALIZE_USER_SECTIONS
NO_VTOR_CONFIG
NRF52840_XXAA

as found on the "NRF52840 Dongle Programming Tutorial" written by Einar Thorsrud found here.

and memory was set accordingly in Linker -> Section Placement Macros.

I believe it has to do with my setup, but I haven't found any solutions for this, even after looking through similar Nordic DevZone threads.

Any clues as to what's going on would be greatly appreciated.

Thank you for reading this and an advanced thank you for the help.

Slight smile

-jdts

Related