Hello,
I am currently developing UART communication firmware for the nRF52805, but I am encountering issues with performing DFU firmware updates.
Below are the details of the situation:
I built the bootloader using the DFU Bootloader project located at: examples/dfu/secure_bootloader/pca10040e_s112_ble in nRF5 SDK (v17.1.0).
I then programmed the Bootloader.hex together with the SoftDevice (s112_nrf52_7.3.0_softdevice.hex) into the nRF52805 using J-Link via the nRF Connect for Desktop Programmer. After programming, I can confirm that the module is advertising as "DfuTarg" in the nRF Connect for Mobile app on an Android device.
Next, I generated a signed DFU package using the following command in the examples/dfu folder, and transferred the generated .zip file to the Android device: nrfutil pkg generate --hw-version 52 --sd-req 0x126 --application-version 1 --application ble_app_uart_pca10040e_s112.hex --key-file priv.pem ble_app_uart_pca10040e_s112.zip
Then, on the Android device (nRF Connect for Mobile app), I tap "Connect (DFU)" and select the transferred ble_app_uart_pca10040e_s112.zip. The DFU transfer starts briefly, but then immediately disconnects, and the firmware is not transferred. Could you please advise what might be causing this issue?
Additional information:
I am basically following the procedure described in the following guide:
I have already confirmed the FW ID for S112 v7.3.0 using: nrfutil nrf5sdk-tools pkg generate --help (s112_nrf52_7.3.0 | 0x126)
The error log from the Android device is as follows:

Regarding the nRF52805, I understand certain limitations (such as memory size), and I believe that my bootloader firmware and application firmware meet these constraints. However, my understanding may be incorrect.
<nRF52805 Memory map>
0x00000000 MBR
0x00001000 SoftDevice (S112)
0x00019000 App
0x00028000 Bootloader
0x0002E000 MBR params page
0x0002F000 Bootloader settings
> nrfutil pkg display ble_app_uart_pca10040e_s112.zip
DFU Package: <ble_app_uart_pca10040e_s112.zip>:
|
|- Image count: 1
|
|- Image #0:
|- Type: application
|- Image file: ble_app_uart_pca10040e_s112.bin
|- Init packet file: ble_app_uart_pca10040e_s112.dat
|
|- op_code: INIT
|- signature_type: ECDSA_P256_SHA256
|- signature (little-endian): b'XXXXXXXXXXXXXXXX'
|
|- fw_version: 0x00000001 (1)
|- hw_version 0x00000034 (52)
|- sd_req: 0x126
|- type: APPLICATION
|- sd_size: 0
|- bl_size: 0
|- app_size: 54008
|
|- hash_type: SHA256
|- hash (little-endian): b'XXXXXXXXXX'
|
|- boot_validation_type: ['VALIDATE_GENERATED_CRC']
|- boot_validation_signature (little-endian): [b'']
|
|- is_debug: False
・Bootloader : secure_bootloader_ble_s112_pca10040e.emProject File
linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x30000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x6000;FLASH_START=0x28000;FLASH_SIZE=0x6000;RAM_START=0x200022c8;RAM_SIZE=0x3d38"
linker_section_placements_segments="FLASH1 RX 0x0 0x30000;RAM1 RWX 0x20000000 0x6000;mbr_params_page RX 0x0002E000 0x1000;bootloader_settings_page RX 0x0002F000 0x1000;uicr_bootloader_start_address RX 0x10001014 0x4;uicr_mbr_params_page RX 0x10001018 0x4"
・App : ble_app_uart_pca10040e_s112.emProject File
linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x30000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x6000;FLASH_START=0x19000;FLASH_SIZE=0xF000;RAM_START=0x200022c8;RAM_SIZE=0x3d38"
linker_section_placements_segments="FLASH1 RX 0x0 0x30000;RAM1 RWX 0x20000000 0x6000"
Is there any hint or advice that could help resolve this issue?