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

Direct XIP support #106

Merged
merged 2 commits into from
Aug 4, 2023
Merged

Direct XIP support #106

merged 2 commits into from
Aug 4, 2023

Conversation

philips77
Copy link
Member

The new Direct XIP feature allows to boot a device with an image from a non-primary slot.

Before

Each image had to be compiled to be run from a primary slot. An update was sent to the secondary slot for given code, confirmed and on next reset the MCUboot would swap the two slots, so what was initially on the primary slot would end up on the secondary, and what was on secondary out end on primary. The device could then be started with an updated image run from the primary slot.

Issue

Depending on a device, the swap took ~20 seconds in addition to the upload time.

Direct XIP

The new feature allows to build an image for both slots. When compiling, two binaries are generate, each for one slot (addresses in hex are different). The ZIP packet contains both images.
Such ZIP is given to the nRF Connect Device Manager app, which reads the current image state on the connected device, picks the image for the available slot and uploads it. No swap is used, as the image can be directly booted from where it was saved making the first slot available for future updates.

@philips77 philips77 merged commit 655eb0b into main Aug 4, 2023
1 check passed
@philips77 philips77 deleted the direct-xip branch August 4, 2023 16:01
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

Successfully merging this pull request may close these issues.

None yet

1 participant