I am working on a 52840 platform DFU bootloader.
I get linker errors I cant seem to fix:
undefined reference to `crc32_compute',
Bootloader/nrf_bootloader_info.o:C:\dev\\sdk\components\libraries\bootloader/nrf_bootloader_info.c:57: undefined reference to `_vectors'
in function `Reset_Handler': undefined reference to `nRFInitialize'
undefined reference to `nrfx_spi_init'
Lots of other errors not shown.
I attached flash placement file.
I'm using SEGGER IDE v5.42a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE Linker_Placement_File>
name="Flash Section Placement"
name="FLASH" start="$(FLASH_PH_START)" size="$(FLASH_PH_SIZE)"
load="no" name=".reserved_flash" start="$(FLASH_PH_START)" size="$(FLASH_START)-$(FLASH_PH_START)"
alignment="0x100" load="Yes" name=".vectors" start="$(FLASH_START)"
alignment="4" load="Yes" name=".init"
alignment="4" load="Yes" name=".init_rodata"
alignment="4" load="Yes" name=".text"
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"
alignment="4" keep="Yes" load="Yes" name=".dfu_trans" inputsections="*(SORT(.dfu_trans*))" address_symbol="__start_dfu_trans" end_symbol="__stop_dfu_trans"
alignment="4" keep="Yes" load="Yes" name=".svc_data" inputsections="*(.svc_data*)" address_symbol="__start_svc_data" end_symbol="__stop_svc_data"
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"
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"
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"
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"
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"
alignment="4" keep="Yes" load="No" name=".nrf_sections" address_symbol="__start_nrf_sections"
alignment="4" keep="Yes" load="Yes" name=".log_dynamic_data" inputsections="*(SORT(.log_dynamic_data*))" runin=".log_dynamic_data_run"
alignment="4" keep="Yes" load="Yes" name=".fs_data" inputsections="*(.fs_data*)" runin=".fs_data_run"