This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Custom nRF52832 board - Buttonless DFU either stuck on DFUTarg or "No bootloader was found" error

Hello,

I'm currently having some issues where my custom board is either experiencing infinite DFUTarg cycle or "no bootloader was found" error.

I have been following the tutorial from https://github.com/gamnes/nRF52832-buttonless-dfu-development-tutorial and it works fine on my nRF52DK. 

However when I attempted to do the same approach on my custom board, it's either stuck on infinite DFUTarg during step 2; or "no bootloader was found" error when I download the app + sd + bootloader. I'm using SDK v17.1.0 and my custom board also has the optional 32KHz XTAL. I only have this issue with buttonless DFU, because I attempted ble_app_uart + bootloader and it works just fine. 

Can anyone please enlighten me on this issue? 

Thank you.

Eddy.

  • it was "DFU mode requested via button", which doesn't make sense considering I downloaded buttonless_dfu app.

    <info> app: Inside main
    <debug> app: In nrf_bootloader_init
    <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...
    <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
    <debug> nrf_dfu_settings: Using settings page.
    <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    <info> nrf_dfu_settings: Backing up settings page to address 0x7E000.
    <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    <debug> app: Enter nrf_bootloader_fw_activate
    <info> app: No firmware to activate.
    <debug> app: App is valid
    <debug> app: DFU mode requested via button.
    <info> nrf_bootloader_wdt: WDT is not enabled
    <debug> app: in weak nrf_dfu_init_user
    <debug> app: timer_stop (0x20005984)
    <debug> app: timer_activate (0x20005984)
    <info> app: Entering DFU mode.
    <debug> app: Initializing transports (found: 1)
    <debug> nrf_dfu_ble: Initializing BLE DFU transport
    <debug> nrf_dfu_ble: Setting up vector table: 0x00071000
    <debug> nrf_dfu_ble: Enabling SoftDevice.
    <debug> nrf_dfu_ble: Configuring BLE stack.
    <debug> nrf_dfu_ble: Enabling the BLE stack.
    <debug> nrf_dfu_ble: No advertising name found
    <debug> nrf_dfu_ble: Using default advertising name
    <debug> nrf_dfu_ble: Advertising...
    <debug> nrf_dfu_ble: BLE DFU transport initialized.
    <debug> nrf_dfu_flash: Initializing nrf_fstorage_sd backend.
    <debug> app: Enter main loop
    

    EDIT:

    I realized the part I missed. removing (nrf_gpio_pin_read(NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN) part in bootloader solved my issue. I've been looking around on buttonless_dfu, that I didn't pay attention to bootloader.

    Thanks for pointing out.

Related