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

Problem using usb dfu trigger on nrf52840 dongle with nRF Connect

I try to incorporate the usb dfu trigger into my application. However when using nrf Connect for Desktop to flash the nrf52840 dongle it can not reopen the dongle.

This could be a bug in my application, therefore I tried with the ble_connectivity example from the SDK for test purpose. Since the usb dfu trigger is used in this example, I expected no problems.

However I still get the same Error in nRF Connect. I tested with both connecting the dongle through a hub and directly to the computer.

Just to clarify, there is no problem flashing the device, but I have to use the reset button to enter the bootloader.

PS: My Setup: Windows 10, SDK v15.3.0,  nRF Connect for Desktop v3.2.0, nRF52840 Dongle

Parents
  • Not sure if I understand, but I assume that you are doing a NVIC_SystemReset() when you want to switch from application to bootloader. In such I assume you should also stop the USB functionality to force a re-enumeration from the PC, so I assume you are calling nrfx_usbd_stop() before soft reset?

    /**
     * @brief Stop USB functionality.
     *
     * This function disables USBD pull-up and interrupts.
     *
     * The HFXO request is released in this function.
     *
     * @note
     * This function can also be used to logically disconnect USB from the HOST that
     * would force it to enumerate device after calling @ref nrfx_usbd_start.
     */
    void nrfx_usbd_stop(void);

Reply
  • Not sure if I understand, but I assume that you are doing a NVIC_SystemReset() when you want to switch from application to bootloader. In such I assume you should also stop the USB functionality to force a re-enumeration from the PC, so I assume you are calling nrfx_usbd_stop() before soft reset?

    /**
     * @brief Stop USB functionality.
     *
     * This function disables USBD pull-up and interrupts.
     *
     * The HFXO request is released in this function.
     *
     * @note
     * This function can also be used to logically disconnect USB from the HOST that
     * would force it to enumerate device after calling @ref nrfx_usbd_start.
     */
    void nrfx_usbd_stop(void);

Children
Related