11.6 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. 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
Description Header Start Address(1) Size in bytes(2) Expected value(3)
Field HDR ADDR SIZE REFVAL
Offset 0x0 0x4 0x8 0xC
Value 0x43524349 0x00000000 0x100 0xAABBCCDD
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.