Hi.
I have a problem.
I changed project settings 52832 -> 52840
on 52832 the project work perfectly.
using 52832, SDK 15.3.0 S332, ble, ant, ble dfu.
now I wanna import to 52840.
error is unplaced_sections
Generating linker script ‘BS_70_VER_0.1.ld’
Linking BS_70_VER_0.1.elf
Output/Debug/Exe/BS_70_VER_0.1.elf section `.init' will not fit in region `UNPLACED_SECTIONS'
region `UNPLACED_SECTIONS' overflowed by 94244 bytes
Output/BS_70_VER_0.1 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__'
Output/BS_70_VER_0.1 Debug/Obj/ses_startup_nrf_common.o: in function `InitializeUserMemorySections':
(.init+0x54): undefined reference to `__start_nrf_sections'
(.init+0x58): undefined reference to `__start_nrf_sections_run'
(.init+0x5c): undefined reference to `__end_nrf_sections_run'
Output/BS_70_VER_0.1 Debug/Obj/ses_startup_nrf52.o: in function `_vectors':
(.vectors+0x0): undefined reference to `__stack_end__'
Output/BS_70_VER_0.1 Debug/Obj/nrf_log_frontend.o: in function `nrf_log_init':
nrf_log_frontend.c:(.text.nrf_log_init+0x6c): undefined reference to `__stop_log_const_data'
nrf_log_frontend.c:(.text.nrf_log_init+0x70): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_log_frontend.o: in function `nrf_log_module_cnt_get':
nrf_log_frontend.c:(.text.nrf_log_module_cnt_get+0xc): undefined reference to `__stop_log_const_data'
nrf_log_frontend.c:(.text.nrf_log_module_cnt_get+0x10): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_log_frontend.o: in function `module_idx_get':
nrf_log_frontend.c:(.text.module_idx_get+0x60): undefined reference to `__start_log_dynamic_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_log_frontend.o: in function `nrf_log_module_name_get':
nrf_log_frontend.c:(.text.nrf_log_module_name_get+0x3c): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_log_frontend.o: in function `nrf_log_color_id_get':
nrf_log_frontend.c:(.text.nrf_log_color_id_get+0x6c): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_log_frontend.o: in function `nrf_log_frontend_dequeue':
nrf_log_frontend.c:(.text.nrf_log_frontend_dequeue+0x3a0): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/app_error_weak.o: in function `app_error_fault_handler':
app_error_weak.c:(.text.app_error_fault_handler+0x144): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_sdh.o:(.rodata.sdh_req_observers+0x0): undefined reference to `__start_sdh_req_observers'
Output/BS_70_VER_0.1 Debug/Obj/nrf_sdh.o:(.rodata.sdh_req_observers+0x4): undefined reference to `__stop_sdh_req_observers'
Output/BS_70_VER_0.1 Debug/Obj/nrf_sdh.o:(.rodata.sdh_state_observers+0x0): undefined reference to `__start_sdh_state_observers'
Output/BS_70_VER_0.1 Debug/Obj/nrf_sdh.o:(.rodata.sdh_state_observers+0x4): undefined reference to `__stop_sdh_state_observers'
Output/BS_70_VER_0.1 Debug/Obj/nrf_sdh.o:(.rodata.sdh_stack_observers+0x0): undefined reference to `__start_sdh_stack_observers'
Output/BS_70_VER_0.1 Debug/Obj/nrf_sdh.o:(.rodata.sdh_stack_observers+0x4): undefined reference to `__stop_sdh_stack_observers'
Output/BS_70_VER_0.1 Debug/Obj/nrf_pwr_mgmt.o:(.rodata.pwr_mgmt_data+0x0): undefined reference to `__start_pwr_mgmt_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_pwr_mgmt.o:(.rodata.pwr_mgmt_data+0x4): undefined reference to `__stop_pwr_mgmt_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_fstorage.o: in function `nrf_fstorage_init':
nrf_fstorage.c:(.text.nrf_fstorage_init+0x7c): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_fstorage.o: in function `nrf_fstorage_uninit':
nrf_fstorage.c:(.text.nrf_fstorage_uninit+0x84): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_fstorage.o: in function `nrf_fstorage_read':
nrf_fstorage.c:(.text.nrf_fstorage_read+0x12c): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_fstorage.o: in function `nrf_fstorage_write':
nrf_fstorage.c:(.text.nrf_fstorage_write+0x198): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/nrf_fstorage.o: in function `nrf_fstorage_erase':
nrf_fstorage.c:(.text.nrf_fstorage_erase+0x110): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/user_rtc.o:user_rtc.c:(.text.rtc_init+0x8c): more undefined references to `__start_log_const_data' follow
Output/BS_70_VER_0.1 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+0x20): undefined reference to `__app_ram_start__'
Output/BS_70_VER_0.1 Debug/Obj/main.o: in function `main':
main.c:(.text.main+0x3c): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/user_timer.o: in function `battery_time_handler':
user_timer.c:(.text.battery_time_handler+0x80): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/user_timer.o: in function `battery_time_change_phase2':
user_timer.c:(.text.battery_time_change_phase2+0x54): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/user_timer.o: in function `battery_Check_time_handler':
user_timer.c:(.text.battery_Check_time_handler+0x5c): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/user_timer.o: in function `user_app_timers_init':
user_timer.c:(.text.user_app_timers_init+0x12c): undefined reference to `__start_log_const_data'
Output/BS_70_VER_0.1 Debug/Obj/user_battery.o:user_battery.c:(.text.battery_uninitfor_cali+0x30): more undefined references to `__start_log_const_data' follow
Build failed
I changed S340, and file path, and Preprocessor Definitions like this:
BOARD_PCA10056
FLOAT_ABI_HARD
CONFIG_GPIO_AS_PINRESET
INITIALIZE_USER_SECTIONS
NO_VTOR_CONFIG
NRF52840_XXAA
NRF_SD_BLE_API_VERSION=6
S340
SOFTDEVICE_PRESENT
SWI_DISABLE0
NRF_DFU_TRANSPORT_BLE=1
NRF52
NRF52_PAN_74
flash_placement.xml :
<!DOCTYPE Linker_Placement_File>
<Root name="Flash Section Placement">
<MemorySegment name="FLASH" start="$(FLASH_PH_START)" size="$(FLASH_PH_SIZE)">
<ProgramSection load="no" name=".reserved_flash" start="$(FLASH_PH_START)" size="$(FLASH_START)-$(FLASH_PH_START)" />
<ProgramSection alignment="0x100" load="Yes" name=".vectors" start="$(FLASH_START)" />
<ProgramSection alignment="4" load="Yes" name=".init" />
<ProgramSection alignment="4" load="Yes" name=".init_rodata" />
<ProgramSection alignment="4" load="Yes" name=".text" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_ant_observers" inputsections="*(SORT(.sdh_ant_observers*))" address_symbol="__start_sdh_ant_observers" end_symbol="__stop_sdh_ant_observers" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_ble_observers" inputsections="*(SORT(.sdh_ble_observers*))" address_symbol="__start_sdh_ble_observers" end_symbol="__stop_sdh_ble_observers" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_soc_observers" inputsections="*(SORT(.sdh_soc_observers*))" address_symbol="__start_sdh_soc_observers" end_symbol="__stop_sdh_soc_observers" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_req_observers" inputsections="*(SORT(.sdh_req_observers*))" address_symbol="__start_sdh_req_observers" end_symbol="__stop_sdh_req_observers" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_state_observers" inputsections="*(SORT(.sdh_state_observers*))" address_symbol="__start_sdh_state_observers" end_symbol="__stop_sdh_state_observers" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_stack_observers" inputsections="*(SORT(.sdh_stack_observers*))" address_symbol="__start_sdh_stack_observers" end_symbol="__stop_sdh_stack_observers" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_const_data" inputsections="*(SORT(.log_const_data*))" address_symbol="__start_log_const_data" end_symbol="__stop_log_const_data" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".nrf_balloc" inputsections="*(.nrf_balloc*)" address_symbol="__start_nrf_balloc" end_symbol="__stop_nrf_balloc" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".nrf_queue" inputsections="*(.nrf_queue*)" address_symbol="__start_nrf_queue" end_symbol="__stop_nrf_queue" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".cli_command" inputsections="*(.cli_command*)" address_symbol="__start_cli_command" end_symbol="__stop_cli_command" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".crypto_data" inputsections="*(SORT(.crypto_data*))" address_symbol="__start_crypto_data" end_symbol="__stop_crypto_data" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".pwr_mgmt_data" inputsections="*(SORT(.pwr_mgmt_data*))" address_symbol="__start_pwr_mgmt_data" end_symbol="__stop_pwr_mgmt_data" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_backends" inputsections="*(SORT(.log_backends*))" address_symbol="__start_log_backends" end_symbol="__stop_log_backends" />
<ProgramSection alignment="4" keep="Yes" load="No" name=".nrf_sections" address_symbol="__start_nrf_sections" />
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_dynamic_data" inputsections="*(SORT(.log_dynamic_data*))" runin=".log_dynamic_data_run"/>
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_filter_data" inputsections="*(SORT(.log_filter_data*))" runin=".log_filter_data_run"/>
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".cli_sorted_cmd_ptrs" inputsections="*(.cli_sorted_cmd_ptrs*)" runin=".cli_sorted_cmd_ptrs_run"/>
<ProgramSection alignment="4" keep="Yes" load="Yes" name=".fs_data" inputsections="*(.fs_data*)" runin=".fs_data_run"/>
<ProgramSection alignment="4" load="Yes" name=".dtors" />
<ProgramSection alignment="4" load="Yes" name=".ctors" />
<ProgramSection alignment="4" load="Yes" name=".rodata" />
<ProgramSection alignment="4" load="Yes" name=".ARM.exidx" address_symbol="__exidx_start" end_symbol="__exidx_end" />
<ProgramSection alignment="4" load="Yes" runin=".fast_run" name=".fast" />
<ProgramSection alignment="4" load="Yes" runin=".data_run" name=".data" />
<ProgramSection alignment="4" load="Yes" runin=".tdata_run" name=".tdata" />
</MemorySegment>
<MemorySegment name="RAM" start="$(RAM_PH_START)" size="$(RAM_PH_SIZE)">
<ProgramSection load="no" name=".reserved_ram" start="$(RAM_PH_START)" size="$(RAM_START)-$(RAM_PH_START)" />
<ProgramSection alignment="0x100" load="No" name=".vectors_ram" start="$(RAM_START)" address_symbol="__app_ram_start__"/>
<ProgramSection alignment="4" keep="Yes" load="No" name=".nrf_sections_run" address_symbol="__start_nrf_sections_run" />
<ProgramSection alignment="4" keep="Yes" load="No" name=".log_dynamic_data_run" address_symbol="__start_log_dynamic_data" end_symbol="__stop_log_dynamic_data" />
<ProgramSection alignment="4" keep="Yes" load="No" name=".log_filter_data_run" address_symbol="__start_log_filter_data" end_symbol="__stop_log_filter_data" />
<ProgramSection alignment="4" keep="Yes" load="No" name=".cli_sorted_cmd_ptrs_run" address_symbol="__start_cli_sorted_cmd_ptrs" end_symbol="__stop_cli_sorted_cmd_ptrs" />
<ProgramSection alignment="4" keep="Yes" load="No" name=".fs_data_run" address_symbol="__start_fs_data" end_symbol="__stop_fs_data" />
<ProgramSection alignment="4" keep="Yes" load="No" name=".nrf_sections_run_end" address_symbol="__end_nrf_sections_run" />
<ProgramSection alignment="4" load="No" name=".fast_run" />
<ProgramSection alignment="4" load="No" name=".data_run" />
<ProgramSection alignment="4" load="No" name=".tdata_run" />
<ProgramSection alignment="4" load="No" name=".bss" />
<ProgramSection alignment="4" load="No" name=".tbss" />
<ProgramSection alignment="4" load="No" name=".non_init" />
<ProgramSection alignment="4" size="__HEAPSIZE__" load="No" name=".heap" />
<ProgramSection alignment="8" size="__STACKSIZE__" load="No" place_from_segment_end="Yes" name=".stack" address_symbol="__StackLimit" end_symbol="__StackTop"/>
<ProgramSection alignment="8" size="__STACKSIZE_PROCESS__" load="No" name=".stack_process" />
</MemorySegment>
</Root>
Section Placement Macros :
FLASH_PH_START=0x0 FLASH_PH_SIZE=0x80000 RAM_PH_START=0x20000000 RAM_PH_SIZE=0x10000 FLASH_START=0x31000 FLASH_SIZE=0x50000 RAM_START=0x200027B8 RAM_SIZE=0xd848
Could you help me how to solve the issue?
Thank you.
