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

DFU get started switch to DFU MODE

Im working with nrf52832 alone without dk ,  and sdk15.0.0 and SES
 i followd the tutorial of DFU mode : https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/getting-started-with-nordics-secure-dfu-bootloader#h21sjziaqedvq7246h1tdi5lxp57zry
but in the step  Update new application firmware. i dont know how to switch dfu mode.
first i run the project secure_bootloadre_ble_s132_pca10040 , and Debug (go) it works i update to prkect via dfu , and restart to my application, but to go back to dfu another time, i dont know how to do it I should add a dfu service to my project ?? how ?? or there is some reset button or what please help me 

Parents
  • By default, if you hold down button 4 when you reset the device (or power cycle), then that will trigger DFU mode. If you have a custom PCB, look in nrf_bootloader.c in your bootloader project:

    static void dfu_enter_button_init(void)
    {
        nrf_gpio_cfg_sense_input(NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN,
                                 BUTTON_PULL,
                                 NRF_GPIO_PIN_SENSE_LOW);
    }

    So check what your NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN is defined to.

    Alternatively, you can use something called a buttonless_dfu service.This is a BLE service that is used to put the nRF back into DFU mode. If you try to update the application over dfu to the ble_app_buttonless_dfu example found in SDK15.0.0\examples\ble_peripheral

    If you look at how this service is implemented and handled, you can either copy that service into your application, or copy your other services into this example.

    Best regards,

    Edvin

Reply
  • By default, if you hold down button 4 when you reset the device (or power cycle), then that will trigger DFU mode. If you have a custom PCB, look in nrf_bootloader.c in your bootloader project:

    static void dfu_enter_button_init(void)
    {
        nrf_gpio_cfg_sense_input(NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN,
                                 BUTTON_PULL,
                                 NRF_GPIO_PIN_SENSE_LOW);
    }

    So check what your NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN is defined to.

    Alternatively, you can use something called a buttonless_dfu service.This is a BLE service that is used to put the nRF back into DFU mode. If you try to update the application over dfu to the ble_app_buttonless_dfu example found in SDK15.0.0\examples\ble_peripheral

    If you look at how this service is implemented and handled, you can either copy that service into your application, or copy your other services into this example.

    Best regards,

    Edvin

Children
No Data
Related