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

No memory error for ble_dfu_buttonless_async_svci_init()

I'm trying to add buttonless dfu to my app using the example from SDK14.1. It seems no matter how I adjust the memory I'm getting a NRF_ERROR_NO_MEM from ble_dfu_buttonless_async_svci_init(). I have no idea where to even start debugging/fixing this issue. Any ideas?

Parents
  • Did you flash the secure bootlaoder to your nRF52832 board in addition to the application? ble_dfu_buttonless_async_svci_init() will call nrf_dfu_svci_vector_table_set() which checks if there is a bootloader present or not, i.e.

    uint32_t nrf_dfu_svci_vector_table_set(void)
    {
        uint32_t err_code;
    
        if (NRF_UICR->NRFFW[0] != 0xFFFFFFFF)
        {
            NRF_LOG_INFO("Setting vector table to bootloader: 0x%08x", NRF_UICR->NRFFW[0]);
            err_code = sd_softdevice_vector_table_base_set(NRF_UICR->NRFFW[0]);
            if (err_code != NRF_SUCCESS)
            {
                NRF_LOG_ERROR("Failed running sd_softdevice_vector_table_base_set");
                return err_code;
            }
    
            return NRF_SUCCESS;
        }
    
        NRF_LOG_ERROR("No bootloader was found");
        return NRF_ERROR_NO_MEM;
    }
    
  • Hello,

    I'm using SDK 15.0.0, S132.

    I hade the same error reported here.

    I've followed Bjorn comment and I flashed with nRFgo Studio:

    1. Softdevice: s132_nrf52_6.0.0_softdevice.hex.

    2. Bootloader: secure_bootloader_ble_s132_pca10040.hex.

    3. Application: ble_app_buttonless_dfu_pca10040_s132.hex.

    I powered down and up the PCA10040 board, but the device is recognized as:

    "DfuTarg", "Secure DFU Service" UUID 0xFE59 , "DFU Packet" UUID 8EC90002..., "DFU Control Point" UUID 8EC90001... (which was the latest example flashed in board) .

    Is this OK?

    Its written here that the char should be "Buttonless DFU with bonds" UUID 0x8EC90004...?

    Thanks in advance for your reply.

Reply
  • Hello,

    I'm using SDK 15.0.0, S132.

    I hade the same error reported here.

    I've followed Bjorn comment and I flashed with nRFgo Studio:

    1. Softdevice: s132_nrf52_6.0.0_softdevice.hex.

    2. Bootloader: secure_bootloader_ble_s132_pca10040.hex.

    3. Application: ble_app_buttonless_dfu_pca10040_s132.hex.

    I powered down and up the PCA10040 board, but the device is recognized as:

    "DfuTarg", "Secure DFU Service" UUID 0xFE59 , "DFU Packet" UUID 8EC90002..., "DFU Control Point" UUID 8EC90001... (which was the latest example flashed in board) .

    Is this OK?

    Its written here that the char should be "Buttonless DFU with bonds" UUID 0x8EC90004...?

    Thanks in advance for your reply.

Children
Related