11.4.4 BFM Integrity Check

The Boot ROM can optionally perform an integrity check of the Boot Flash Memory (BFM). If BROM_EN_BFMCHK= 1, the Boot ROM calculates a CRC over the selected portion of the current BFM and compares the calculated value to the expected value in a CRC table (see section 2.2.2.1). If the CRC values do not match, the Boot ROM enters interactive mode. The BFM_CHK_TABLEPTR word specifies the location of the CRC table. Typically, the CRC table is stored in BFM. The default setting is BROM_EN_BFMCHK = 0.

When the CRC check fails for any reason (Incorrect CRC table, ECC error or CRC mismatch), the STATUS_ERR_BFMCRC is placed on the Boot communication channel for use by a debugger and interactive mode is called.

Table 11-5. CRC Table Format
DescriptionHeaderStart Address(1)Size in bytes(2)Expected value(3)
FieldHDRADDRSIZEREFVAL
Offset0x00x40x80xC
Value0x435243490x000000000x1000xAABBCCDD
Note:
  1. The start address must be a multiple of 4 (Only ADDR[31:2] are used).
  2. The size must be a multiple of 4 (Only SIZE[31:2] are used).
  3. The expected value is the computed CRC32 value of the memory target.