[nrf noup] pm_sysflash: Fix slot mismatch between app and mcuboot #557
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes the issue described on devzone
https://devzone.nordicsemi.com/f/nordic-q-a/123723/sdk-3-0-2-flash_area_image_secondary-returns-flash_area_image_primary-id
When CONFIG_MCUBOOT_MCUBOOT_IMAGE_NUMBER != -1 there is a size mismatch of all_slots between mcuboot and application images.
When enabling mcuboot for example with s0 and s1 secure images, the mcuboot reported size is 6 while the application reported size is 4. When the application references FLASH_AREA_IMAGE_SECONDARY() it receives the s0 bootloader slot id instead.
Methods that rely on FLASH_AREA_IMAGE_SECONDARY() to point to the application secondary slot do not work as expected.
Since MCUBOOT_IMAGE_NUMBER is finite and currently limited to 4 slots, The ALL_AVAILABLE_SLOTS macro definition should check each combination of CONFIG_MCUBOOT_MCUBOOT_IMAGE_NUMBER explicitly to verify the combination is correct.