Enter MCUboot from firmware (nRF9160)

Hello,

maybe it is a very simple question but I didn't figured out the answer yet. Is it possible to start MCUboot from the application firmware code (to avoid pressing a certain button while power off/on the device)? I am using NCS connect SDK and on my device runs MCUboot and Zephyr OS. MCBboot works and is tested well (button press while power cycle).

If it is not possible, the next question would be:

If I trigger a soft reset (SYS_REBOOT(0)) while pressing the button it will not enter MCUboot. Only a real power cycle starts MCUboot. What am I doing wrong or what I have missed?

Thanks in advance for any answer.

Thomas

  • Hi,

     

    maybe it is a very simple question but I din't figured out the answer yet. Is it possible to start MCUboot from the application firmware code (to avoid pressing a certain button while power off/on the device)? I am using NCS connect SDK and on my device runs MCUboot and Zephyr OS. MCBboot works and is tested well (button press while power cycle).

    The mcuboot serial recovery must include a specific physical routine to enter recovery mode.

    However, if your application has smp_svr registered, you can handle the new image in your application, including test running the new one. See here for detailed information on how to run this sample:

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/samples/subsys/mgmt/mcumgr/smp_svr/README.html

     

    Note: for nrf9160dk_nrf9160ns, please increase the "CONFIG_HEAP_MEM_POOL_SIZE=2048" to be able to successfully receive the uart payloads.

    If I trigger a soft reset (SYS_REBOOT(0)) while pressing the button it will not enter MCUboot. Only a real power cycle starts MCUboot. What am I doing wrong or what I have missed?

    mcuboot will run after a soft-reset, but it will not be directly triggered unless there is an active change pending.

     

    Kind regards,

    Håkon

Related