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

Undefined identifiers in ble_dfu_unbonded.c when upgrading from SDK 14.2 to SDK 15

I'm upgrading a client project from SDK 14.2 to SDK 15, and running into some undefined symbols in ble_dfu_unbonded.c:

Error[Pe020]: identifier "nrf_dfu_set_adv_name_svci_async_t" is undefined C:\nordic\nRF5_SDK_15.0.0_a53641a\components\ble\ble_services\ble_dfu\ble_dfu_unbonded.c 61
Error[Pe020]: identifier "nrf_dfu_set_adv_name_svci_async_t" is undefined C:\nordic\nRF5_SDK_15.0.0_a53641a\components\ble\ble_services\ble_dfu\ble_dfu_unbonded.c 61
Error[Pe020]: identifier "nrf_dfu_set_adv_name_svci_async_t" is undefined C:\nordic\nRF5_SDK_15.0.0_a53641a\components\ble\ble_services\ble_dfu\ble_dfu_unbonded.c 61
Error[Pe020]: identifier "nrf_dfu_adv_name_t" is undefined C:\nordic\nRF5_SDK_15.0.0_a53641a\components\ble\ble_services\ble_dfu\ble_dfu_unbonded.c 61
Error[Pe020]: identifier "nrf_dfu_adv_name_t" is undefined C:\nordic\nRF5_SDK_15.0.0_a53641a\components\ble\ble_services\ble_dfu\ble_dfu_unbonded.c 67
Error[Pe020]: identifier "nrf_dfu_adv_name_t" is undefined C:\nordic\nRF5_SDK_15.0.0_a53641a\components\ble\ble_services\ble_dfu\ble_dfu_unbonded.c 78

The lines in question are

61  NRF_SVCI_ASYNC_FUNC_DEFINE(NRF_DFU_SVCI_SET_ADV_NAME, nrf_dfu_set_adv_name, nrf_dfu_adv_name_t);

67  static nrf_dfu_adv_name_t   m_adv_name;

78  static uint32_t set_adv_name(nrf_dfu_adv_name_t * p_adv_name)

I don't really understand the details of what NRF_SVCI_ASYNC_FUNC_DEFINE does, but it look like it should be defining nrf_dfu_set_adv_name_svci_async_t.

In sdk_config.h, I have BLE_DFU_ENABLED defined as 1, and NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS defined as 0.

Related