Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Swap using move but using extra sector in slot 1 #2134

Open
nordicjm opened this issue Dec 3, 2024 · 0 comments
Open

RFC: Swap using move but using extra sector in slot 1 #2134

nordicjm opened this issue Dec 3, 2024 · 0 comments

Comments

@nordicjm
Copy link
Collaborator

nordicjm commented Dec 3, 2024

The idea for this suggestion is to move the extra sector used for moving, to be part of slot 1 instead of slot 0, and to have a disjoint write location for MCUboot and the application which loads the firmware update: MCUboot deals with the first sector of this slot but the application will load a firmware update to the second slot of this slot. This means that when the update is initiated, the second slot image is already shifted up by a sector and no additional move needs to take place.

  • Slot 0 sector X will be put into slot 1 sector X
  • Slot 0 sector X will be erased
  • Slot 1 sector (X + 1) will be put into slot 0 sector X
  • X is incremented and loop runs until end of the image

This should speed up update times due to not having to shift the slot 0 image up by a sector, erasing a lot of erase and write processes. This would however mean that MCUboot would likely need a lot of changes to support this, slot 1 would need an additional sector instead of slot 0, and MCUmgr would need to be updated to write the update starting at the second sector for secondary slots, not the first sector

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant