zephyr/samples
Martijn Stommels 49cb6537be usb: dfu: add permanent download and automatic reboot
This commit adds the USB_DFU_PERMANENT_DOWNLOAD and USB_DFU_REBOOT and
symbols.When the permanent download symbol is enabled, slot 1 will be
marked as confirmed. With the reboot symbol enabled, the devices
automatically reboots after the download is completed.

The functionality is split into two symbols to allow the automatic
reboot without confirming the image. This enables image confirmation via
another channel. For example via the shell’s Mcuboot commands.

This functionality allows downloading an image to the device without the
user having to interact with the device. It is useful in cases where
ease of use is more important then safety. For example  when using USB
download for daily development. This is especially applicable for
devices with a closed case.

The changes were tested on an nrf52840dk. The following line can be used
to build the USB DFU example with the symbols enabled.

west build -b nrf52840dk_nrf52840 zephyr/samples/subsys/usb/dfu \
-d build-dfu -- -DCONFIG_BOOTLOADER_MCUBOOT=y \
-DOVERLAY_CONFIG=overlay-reboot-permanent.conf \
-DCONFIG_MCUBOOT_SIGNATURE_KEY_FILE\
=\"bootloader/mcuboot/root-rsa-2048.pem\"

Fixes #41921

Signed-off-by: Martijn Stommels <martijn@martijnpc.nl>
2022-03-31 15:33:16 +02:00
..
application_development samples: out_of_tree_board: port nRF board to pinctrl 2022-03-21 15:09:28 +01:00
arch samples: arch: mpu: mpu_test: use DEVICE_DT_GET 2022-03-31 13:55:10 +02:00
basic samples: blinky pwm running on the nucleo_l4r5zi 2022-03-31 10:28:47 +02:00
bluetooth tests: Change duplicated names of the test cases 2022-03-30 17:42:01 -04:00
boards samples: boards: reel_board: mesh_badge: use DEVICE_DT_GET 2022-03-31 13:55:10 +02:00
compression samples/compression/l4z: Increase min_ram 2022-01-28 10:07:00 +01:00
drivers samples: drivers: soc_flash_nrf: use DEVICE_DT_GET 2022-03-31 13:55:10 +02:00
hello_world samples: hello_world: remove redundant header 2022-03-17 17:40:11 -04:00
kernel everywhere: fix typos 2022-03-18 13:24:08 -04:00
modules modules: canopennode: CANopenNode does not support CAN-FD 2022-03-25 15:35:10 -07:00
net tests: Change duplicated names of the test cases 2022-03-30 17:42:01 -04:00
philosophers doc: use :kconfig:option: domain role 2022-03-02 09:28:37 +01:00
posix doc: use :kconfig:option: domain role 2022-03-02 09:28:37 +01:00
sensor drivers: sensors: Update sam qdec driver to use pinctrl 2022-03-24 15:45:37 -07:00
shields drivers: sensor: Const sensor trigger data in trigger handler 2021-10-27 15:09:35 -04:00
subsys usb: dfu: add permanent download and automatic reboot 2022-03-31 15:33:16 +02:00
synchronization
tfm_integration everywhere: fix typos 2022-03-18 13:24:08 -04:00
userspace everywhere: fix typos 2022-03-18 13:24:08 -04:00
classic.rst
index.rst