The pre-calculated checksum must be present in the last location of the section to be checked. If the BOOT section should be checked, the 16-bit checksum must be saved in the last two bytes of the BOOT section, and similarly for APPLICATION and entire Flash. Table 1 shows explicitly how the checksum should be stored for the different sections. Also see CTRLB for how to configure which section to check and the device fuse description for how to configure the BOOTEND and APPEND fuses.
Section to Check | CHECKSUM[15:8] | CHECKSUM[7:0] |
---|---|---|
BOOT | FUSE_BOOTEND*256-2 | FUSE_BOOTEND*256-1 |
BOOT and APPLICATION | FUSE_APPEND*256-2 | FUSE_APPEND*256-1 |
Full Flash | FLASHEND-1 | FLASHEND |