Entering DFU mode from MCUboot without requiring button press

Hi all,

Is it possible to enter DFU mode from MCUboot without requiring a button press?

The hardware is an nRF9160-based custom PCB board without any external buttons, running Zephyr+MCUboot.

What I have gathered so far, according to MCUBoot for Zephyr docs:

> Alternatively, MCUboot can wait for a limited time to check if DFU is invoked by receiving an MCUmgr command. Select CONFIG_BOOT_SERIAL_WAIT_FOR_DFU=y to use this mode. CONFIG_BOOT_SERIAL_WAIT_FOR_DFU_TIMEOUT option defines the amount of time in milliseconds the device will wait for the trigger.

suggesting the `CONFIG_BOOT_SERIAL_WAIT_FOR_DFU_TIMEOUT` could add a short boot delay to wait for `mcumgr` to respond, but so far haven't been able to configure it to do what I imagined.

The answer to a similar question in To put device in bootloader mode without pressing button  suggests that it is not possible, and that we'll need to enter DFU mode from the application.

Our concern is that if the running firmware should crash or become unresponsive, we may be unable to do a USB update without opening the sealed device.

Regards,

J

Parents Reply Children
Related