Hi everyone,
Could someone help me with the following use case?
Task description:
I'm working on a firmware update procedure based on the smp_svr
project. I'm trying to configure MCUboot to support the following behavior:
-
Slot 1 holds a golden image (a recovery firmware) that should never be updated.
-
Slot 0 contains the main application, which does not have firmware update capabilities.
-
At boot, MCUboot should boot into slot 0, where the device waits for update commands via SMP.
-
If no valid update is received within a timeout, and slot 0 is valid and verified, the bootloader should jump to slot 0 to run the application.
-
Is such a configuration possible with MCUboot? And are there any recommended ways to implement the timeout + fallback to slot 1 behavior?
From what I understand, the MCUBOOT_MODE_FIRMWARE_UPDATER
option seems closest to what I’m trying to achieve — where slot 0 is the main app, and slot 1 is a dedicated updater that can update slot 0.
However, I'm having trouble getting it to compile correctly.
Could anyone explain how to properly configure and build the project with this mode enabled?
Any example .conf
files, CMakeLists.txt
, or pointers would be greatly appreciated.
Thanks in advance for your help!