Checksum

The pre-calculated checksum must be present in the last location of the section to be checked. If the BOOT section is to be checked, the checksum must be saved in the last bytes of the BOOT section. The same is done for APPLICATION and the entire Flash. Table 1 shows explicitly how the checksum must be stored for the different sections. Refer to the CRCSCAN.CTRLB register description for how to configure the sections to be checked.

Table 1. Placement of the Pre-Calculated Checksum for CRC16 in Flash
Section to Check CHECKSUM[15:8] CHECKSUM[7:0]
BOOT BOOTEND-1 BOOTEND
BOOT and APPLICATION APPEND-1 APPEND
Full Flash FLASHEND-1 FLASHEND
Table 2. Placement of the Pre-Calculated Checksum for CRC32 in Flash
Section to Check CHECKSUM[31:24] CHECKSUM[23:16] CHECKSUM[15:8] CHECKSUM[7:0]
BOOT BOOTEND BOOTEND-1 BOOTEND-2 BOOTEND-3
BOOT and APPLICATION APPEND APPEND-1 APPEND-2 APPEND-3
Full Flash FLASHEND FLASHEND-1 FLASHEND-2 FLASHEND-3