Hi,
I'm dealing with the Image Index, which on Secure Provisioning Tool is called Image Version.
A popup appears on Secure Provisioning Tool that says:
A version of the bootable image. It is defined in 4 bytes, the lower 2 bytes are the real image version number, and the upper 2 bytes are the inverted value of the lower 2 bytes image version, for example, 0xFFFE0001 for version 1. Either the complete 4 bytes value or the real image version number is expected.
Value 0xFFFFFFFF is also a valid image version, but with the lowest boot sequence. The image with the higher image version is booted first when the dual image boot is configured.
I need you to explain the phrase: “Either the complete 4 bytes value or the real image version number is expected”. Does it mean that even just the lower part of the 32-bit word is enough, and it is not checked that it corresponds with the inverted upper part?
Also I tested two images, at offset 0 Image Version 0xFFFE0001, while the other image has Image Version 0xFFFD0002. The image started by the ROM bootloader is the second one (as expected). Then I replace the first image with one having Image Version 0xFFFFFFFF. I would expect the second to continue to be booted because it is written "Value 0xFFFFFFFF is also a valid image version, but with the lowest boot sequence. The image with the higher image version is booted first". But the ROM bootloader starts the first. Is there something I am missing?
best regards
Max
Hi @mastupristi
Thank you for reaching out and for your patience. I am checking internally the discrepancy that you are reporting.
I think your test scenario where you had below dual image setup
Image | Offset | Image version |
L | 0x0 | 0xFFFFFFFF |
H | 0x00200000 | 0xFFFE0002 |
and your result was that image L was booted , instead image H with the higher version, can be explained with the below note
This means that ROM bootloader used redundant boot, and not dual image boot.
Lets check together the SPT comments regarding the inverted upper bits . Which image is booted if you set as below?
Image | Offset | Image version |
L | 0x0 | 0xFFFE0002 |
H | 0x00200000 | 0x00000003 |
Is image H be booted first on your side?
Thanks for bringing this report.
Diego
I am currently out of the office until at least July 1, so I can't test what you are asking for until then.
and your result was that image L was booted , instead image H with the higher version, can be explained with the below note
This means that ROM bootloader used redundant boot, and not dual image boot.
I have two questions about this:
best regards
Max