HI All,
I am trying to upgrade sdk v11 to sdk v13 in my project and after compilation i am facing Linker Error as mentioned below.
binaries/app/SmartTag2/dfuFlash.c.o:/home/dcpl/Videos/Tack_Test_31_May/ToolChainSetup/coolR/build/linux/../../components/nordic/softdevice/s132/headers/ble_gap.h:2157: multiple definition of `m_fs'
binaries/app/SmartTag2/fds.c.o:(.fs_data+0x0): first defined here
binaries/app/SmartTag2/bleDrv.c.o:(.sdh_ble_observers1+0x8): undefined reference to `ble_db_discovery_on_ble_evt'
binaries/app/SmartTag2/bleDrv.c.o: In function `client_init':
/home/dcpl/Videos/Tack_Test_31_May/ToolChainSetup/coolR/build/linux/../../source/peripherals/bluetooth/bleDrv.c:2458: undefined reference to `ble_db_discovery_init'
binaries/app/SmartTag2/bleDrv.c.o: In function `on_ble_gap_evt_connected':
/home/dcpl/Videos/Tack_Test_31_May/ToolChainSetup/coolR/build/linux/../../source/peripherals/bluetooth/bleDrv.c:2542: undefined reference to `ble_db_discovery_start'
binaries/app/SmartTag2/amtc.c.o: In function `nrf_ble_amtc_init':
/home/dcpl/Videos/Tack_Test_31_May/ToolChainSetup/coolR/build/linux/../../source/peripherals/bluetooth/amtc.c:289: undefined reference to `ble_db_discovery_evt_register'
binaries/app/SmartTag2/ble_dfu.c.o: In function `ble_dfu_buttonless_bootloader_start_finalize':
/home/dcpl/Videos/Tack_Test_31_May/ToolChainSetup/coolR/build/linux/../../components/nordic/ble/ble_services/ble_dfu/ble_dfu.c:295: undefined reference to `nrf_pwr_mgmt_shutdown'
collect2: error: ld returned 1 exit status
../../components/nordic/toolchain/gcc/Makefile.common:292: recipe for target 'binaries/app/SmartTag2.out' failed
make: *** [binaries/app/SmartTag2.out] Error 1
also i am attaching my linker script.
please help me to resolved this error.
SEARCH_DIR(.) GROUP(-lgcc -lc -lnosys) MEMORY { /* Flash partitions */ /* MBR (rx) : ORIGIN = 0x00000000, LENGTH = 0x01000 /* Master Boot Record, size = 4KB */ /* SOFTDEVICE (rx) : ORIGIN = 0x00001000, LENGTH = 0x1E000 /* Softdevice, size = 120KB */ APPLICATION (rx) : ORIGIN = 0x0001F000, LENGTH = 0x45000 /* Application, size = 340KB */ /* BOOTLOADER (rx) : ORIGIN = 0x00074000, LENGTH = 0x06000 /* Bootloader, size = 24KB */ /* MBR_SETTING (rw) : ORIGIN = 0x0007A000, LENGTH = 0x01000 /* MBR setting, size = 4KB */ BL_SETTING (rw) : ORIGIN = 0x0007B000, LENGTH = 0x01000 /* BL setting, size = 4KB */ NVCONFIG (rw) : ORIGIN = 0x0007C000, LENGTH = 0x04000 /* NVconfig, size = 16KB */ /* RAM partitions */ /* MBR_SD (rw) : ORIGIN = 0x20000000, LENGTH = 0x2128 /* */ RAM (rwx) : ORIGIN = 0x20002128, LENGTH = 0xAED8 /* */ DM_RAM_BUFFER (rwx) : ORIGIN = 0x2000D000, LENGTH = 0x1000 /* */ CONFIG (rwx) : ORIGIN = 0x2000E000, LENGTH = 0x2000 /* */ } /* SECTIONS { .config : { PROVIDE(__start_config = .); KEEP(*(.config)) PROVIDE(__stop_config = .); } > CONFIG } */ SECTIONS { .config(NOLOAD) : { } > CONFIG } SECTIONS { .dmRamBuffer(NOLOAD) : { } > DM_RAM_BUFFER } SECTIONS { /* Place the bootloader settings page in flash. */ .bootloaderSettings(NOLOAD) : { } > BL_SETTING .cli_sorted_cmd_ptrs : { PROVIDE(__start_cli_sorted_cmd_ptrs = .); KEEP(*(.cli_sorted_cmd_ptrs)) PROVIDE(__stop_cli_sorted_cmd_ptrs = .); } > RAM .log_dynamic_data : { PROVIDE(__start_log_dynamic_data = .); KEEP(*(SORT(.log_dynamic_data*))) PROVIDE(__stop_log_dynamic_data = .); } > RAM .fs_data : { PROVIDE(__start_fs_data = .); KEEP(*(.fs_data)) PROVIDE(__stop_fs_data = .); } > RAM } INSERT AFTER .data; SECTIONS { .mem_section_dummy_rom : { } .sdh_soc_observers : { PROVIDE(__start_sdh_soc_observers = .); KEEP(*(SORT(.sdh_soc_observers*))) PROVIDE(__stop_sdh_soc_observers = .); } > APPLICATION .pwr_mgmt_data : { PROVIDE(__start_pwr_mgmt_data = .); KEEP(*(SORT(.pwr_mgmt_data*))) PROVIDE(__stop_pwr_mgmt_data = .); } > APPLICATION .sdh_ble_observers : { PROVIDE(__start_sdh_ble_observers = .); KEEP(*(SORT(.sdh_ble_observers*))) PROVIDE(__stop_sdh_ble_observers = .); } > APPLICATION .cli_command : { PROVIDE(__start_cli_command = .); KEEP(*(.cli_command)) PROVIDE(__stop_cli_command = .); } > APPLICATION .log_const_data : { PROVIDE(__start_log_const_data = .); KEEP(*(SORT(.log_const_data*))) PROVIDE(__stop_log_const_data = .); } > APPLICATION .sdh_req_observers : { PROVIDE(__start_sdh_req_observers = .); KEEP(*(SORT(.sdh_req_observers*))) PROVIDE(__stop_sdh_req_observers = .); } > APPLICATION .sdh_state_observers : { PROVIDE(__start_sdh_state_observers = .); KEEP(*(SORT(.sdh_state_observers*))) PROVIDE(__stop_sdh_state_observers = .); } > APPLICATION .sdh_stack_observers : { PROVIDE(__start_sdh_stack_observers = .); KEEP(*(SORT(.sdh_stack_observers*))) PROVIDE(__stop_sdh_stack_observers = .); } > APPLICATION } INSERT AFTER .text INCLUDE "nrf52_common.ld"