Boot Image and Data Partition Compatibility checks¶
The format of Data Partitions and Boot Images may change between version increments. Therefore to prevent incompatible Boot and Data Partitions from running and causing undefined behaviour, a field called compatibility version is embedded into the Data Partition. A running Boot Image checks its own version, against the compatibility version in the Data Partition before reading the partition data.
The version of the firmware should also be specified in the
xflash when generating the Upgrade Image as described
If the compatibility check fails, the booted image, which could be a
factory image or an upgrade image will not read the Data Partition and
will operate with its default settings (described in Default Operation
section above). The Boot status is reported in the RUN_STATUS register
which can be accessed via the
vfctrl utility, for example:
Successful Boot status is reported by either
UPGRADE_DATA_SUCCESS depending on which Boot Image was executed.
If unsuccessful the device will revert to a fail-safe mode of operation.
RUN_STATUS register can be queried for further debug information.
The full list of
RUN_STATUS codes are described in the the reference section.
Fail safe mode uses default vendor ID of 0x20B1 (XMOS) and product ID of 0x16. In this event, host needs to be equipped with the ability to locate USB device under different IDs.