DFU character not found

dear

i am using this proj to get dfu functional

nRF5_SDK_14.2.0_17b948a\nRF5_SDK_14.2.0_17b948a\examples\ble_peripheral\ble_app_uart\main.c

i add some code in main.c :

#ifdef DFU_SUPPORT

ble_dfu_buttonless_init_t dfus_init = {0};

// Initialize the async SVCI interface to bootloader.

err_code = ble_dfu_buttonless_async_svci_init();

APP_ERROR_CHECK(err_code);

dfus_init.evt_handler = ble_dfu_evt_handler;

err_code = ble_dfu_buttonless_init(&dfus_init);

APP_ERROR_CHECK(err_code);

#endi

and define some marco 

#define BLE_DFU_ENABLED 1
#define NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS 0
#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1600
#define NRF_SDH_BLE_VS_UUID_COUNT 2


DEBUG DFU_SUPPORT BL_SETTINGS_ACCESS_ONLY NRF_DFU_SVCI_ENABLED NRF_DFU_TRANSPORT_BLE=1



but when i test i face a problem:DFU character not found
why ????



  • Hi.

    Please don't try to test everything at once.

    Please confirm if you setup passes the following test:

    1. Test bootloader, DFU upload a normal application, such as ble_app_hrs . Test only the bootloader, don't do merge application or flash bootloader setting.
    2. Test the buttonless DFU application + bootloader. Make sure you can do DFU from the application so that the application automatic switch to bootloader and then do DFU.
    3. Use BLE master tool, such as the nRF Connect to open your combined buttonless DFU and your application ( ble_app_uart), make sure you see the 2 services. Make sure you have increased NRF_SDH_BLE_VS_UUID_COUNT to match with number of 128 bit base UUID you define.

    Best regards,

    Andreas