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

DFU

Hi,

I expected a bit more fanfare for the BLE-based DFU, but eventually found it in the 4.4 SDK after my sales rep told me it was there ;)

Some questions:

(1) Is there a plan to support DFU over BLE without the need to physically press a button? I get that this could be user implemented, but for something as critical as DFU, we'd rather rely on the vendor's code.

(2) Will there be a sample iOS app any time soon?

Thanks!

-m

Parents
  • I did a small test and it´s working. Don´t know if it´s the best solution but it works for me.

    Change this in the bootloader app. it will still trigger on button 7 put it´s easy to take away.

        if (bootloader_is_pushed || (!bootloader_app_is_valid(DFU_BANK_0_REGION_START)) || NRF_POWER->GPREGRET == 1)
        {
            nrf_gpio_pin_set(LED1);
    	NRF_POWER->GPREGRET = 0;
            // Initiate an update of the firmware.
            err_code = bootloader_dfu_start();
            APP_ERROR_CHECK(err_code);
    
            nrf_gpio_pin_clear(LED1);
        }
    

    Add this in your normal code for tigger bootloader NRF_POWER->GPREGRET = 1; NVIC_SystemReset();

Reply
  • I did a small test and it´s working. Don´t know if it´s the best solution but it works for me.

    Change this in the bootloader app. it will still trigger on button 7 put it´s easy to take away.

        if (bootloader_is_pushed || (!bootloader_app_is_valid(DFU_BANK_0_REGION_START)) || NRF_POWER->GPREGRET == 1)
        {
            nrf_gpio_pin_set(LED1);
    	NRF_POWER->GPREGRET = 0;
            // Initiate an update of the firmware.
            err_code = bootloader_dfu_start();
            APP_ERROR_CHECK(err_code);
    
            nrf_gpio_pin_clear(LED1);
        }
    

    Add this in your normal code for tigger bootloader NRF_POWER->GPREGRET = 1; NVIC_SystemReset();

Children
Related