Timeout exit from the boot loader

I am developing an application that uses NCS2.8.0.

For FW updates, the nRF52833 USB ACM bootloader is enabled.

However, there are some problem.

My device has a battery but no reset button, so the application cannot start unless I reset it with mcumgr.

Since we do not want to unnecessarily expose the bootloader to users, bootloader startup cannot be used at any time.

The bootloader timeout seems to only be effective if the bootloader always starts after a reset.

CONFIG_BOOT_SERIAL_WAIT_FOR_DFU=y
CONFIG_BOOT_SERIAL_WAIT_FOR_DFU_TIMEOUT=2000
Is it possible to only enable the bootloader timeout?
Or can I exit the bootloader by other means (e.g. user switch)?
Parents Reply Children
  • I would start by just making changes directly to the main.c file for the bootloader in the SDK tree /v2.8.0/bootloader/mcuboot/boot/zephyr/ to verify that your changes work. You can then decide how you want to include these changes into your project setup. 

  • Thank you. I have performed a test implementation and it is working properly.

    This bootloader timeout feature seems more commonly needed.
    This time, I customized the bootloader, but customization by general users is not a good thing.
    I think such basic functions should be selectable without modifying the code.

    What should we do if multiple people are developing this custom bootloader?
    Specifically, there are several engineers in the company who develop using Zephyr, and the bootloader should be common, so this change should be synchronized via git (github).

    For example, would it be possible for us to create a fork of NCS and use that instead of the nordic repository?


Related