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

nRF52810 as BLE CENTRAL

Hello,

So I am trying to build the ble_app_blinky_c example of SDK_14.2 to work for nRF52810 but encountered problems.

...
  Linking ble_app_blinky_c_pca10040_s132.elf
    Output/Release/Exe/ble_app_blinky_c_pca10040_s132.elf section `.init' will not fit in region `UNPLACED_SECTIONS'
    region `UNPLACED_SECTIONS' overflowed by 16548 bytes
    Output/ble_app_blinky_c_pca10040_s132 Release/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__'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/ses_nRF_Startup.o: in function `InitializeUserMemorySections':
    (.init+0x38): undefined reference to `__start_nrf_sections'
    (.init+0x3c): undefined reference to `__start_nrf_sections_run'
    (.init+0x40): undefined reference to `__end_nrf_sections_run'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/ses_nrf52810_Vectors.o: in function `_vectors':
    (.vectors+0x0): undefined reference to `__stack_end__'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_log_frontend.o: in function `nrf_log_init':
    nrf_log_frontend.c:(.text.nrf_log_init+0x48): undefined reference to `__start_log_const_data'
    nrf_log_frontend.c:(.text.nrf_log_init+0x4c): undefined reference to `__stop_log_const_data'
    nrf_log_frontend.c:(.text.nrf_log_init+0x50): undefined reference to `__start_log_dynamic_data'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_log_frontend.o: in function `nrf_log_module_name_get':
    nrf_log_frontend.c:(.text.nrf_log_module_name_get+0x30): undefined reference to `__start_log_const_data'
    nrf_log_frontend.c:(.text.nrf_log_module_name_get+0x34): undefined reference to `__stop_log_const_data'
    nrf_log_frontend.c:(.text.nrf_log_module_name_get+0x38): undefined reference to `__start_log_dynamic_data'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_log_frontend.o: in function `nrf_log_color_id_get':
    nrf_log_frontend.c:(.text.nrf_log_color_id_get+0x28): undefined reference to `__start_log_const_data'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_pwr_mgmt.o:(.rodata.pwr_mgmt_data+0x0): undefined reference to `__start_pwr_mgmt_data'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_pwr_mgmt.o:(.rodata.pwr_mgmt_data+0x4): undefined reference to `__stop_pwr_mgmt_data'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_sdh.o:(.rodata.sdh_req_observers+0x0): undefined reference to `__start_sdh_req_observers'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_sdh.o:(.rodata.sdh_req_observers+0x4): undefined reference to `__stop_sdh_req_observers'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_sdh.o:(.rodata.sdh_stack_observers+0x0): undefined reference to `__start_sdh_stack_observers'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_sdh.o:(.rodata.sdh_stack_observers+0x4): undefined reference to `__stop_sdh_stack_observers'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_sdh.o:(.rodata.sdh_state_observers+0x0): undefined reference to `__start_sdh_state_observers'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_sdh.o:(.rodata.sdh_state_observers+0x4): undefined reference to `__stop_sdh_state_observers'
    Output/ble_app_blinky_c_pca10040_s132 Release/Obj/nrf_sdh_ble.o: in function `nrf_sdh_ble_default_cfg_set':
    nrf_sdh_ble.c:(.text.nrf_sdh_ble_default_cfg_set+0x13c): undefined reference to `__app_ram_start__'
Build failed

I used s132 v 5.1 for my softdevice by following this post - https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/the-s132-v5-1-0-is-now-production-tested-on-nrf52810

Also followed the developing for nrf52810 guide together with this post (https://devzone.nordicsemi.com/f/nordic-q-a/33812/developing-for-nrf52810---the-full-story/260687#260687

Can anyone help me to identify how to solve this problem?

  • Hello, just a follow up concern.

    I am confused with the brief overview of S132,

    This line confuses me. If it is stated there that s132 is a protocol stack for nRF52810 and nRF52832, then why is that there is no example in the SDK for nRF52810 using s132? 

    Also, based on the compatibility matrix of nRF52810, the latest version of the softdevice no longer supports the chip, why is that so?

    If it is because of the complication regarding the memory size of nRF52810,hence it is no longer supported on the later version of s132, shouldn't there be an adjustment with the overview of the software to avoid confusion and misunderstanding. Because reading the highlighted statement, it highly implies that the s132 can be used in developing nRF52810 no matter what version it is.

    Thank you in advance!

  • Hi

    All of the PCA10040 examples in the SDK can easly be modified to emulate or transferred to nRF52810 hardware. A user guide for this can be found in the SDK documentaion over at the Infocenter. There are no examples explicitly for the nRF52810 because we don't have any Development kits with the nRF52810.

    Best regards,

    Simon

Related