2.6 FLASH CRC Test

Test Name: FLASH Memory Test.

Acceptable Measure (Annex. H): Modified checksum (H.2.19.3.1)

Purpose of test: Detect all single bit faults in FLASH memory.

Description: A cyclic redundancy check (CRC) has been implemented to test the invariable memory. This is an error detection technique used to find accidental errors in data. This method is commonly used to determine the correctness of data transmissions and data present in FLASH memory. Test should compute a checksum of the data and store it. In order to detect errors, a new checksum is computed on the same data and compared with the previous one. If they are different, there is an error.

  • Two commonly used CRC standards are supported:
    • 16-bit CRC CCITT
    • 32-bit CRC
  • Two software implementations are supported:
    • Lookup table:This uses a CRC look-up table to speed up the computations. The look-up table requires 512 (for 16-bit) or 1024 (for 32-bit) bytes of flash memory.
    • Direct computation: This calculates the checksum for each byte using a polynomial division. This version occupies no space in the Flash memory but is slower than the lookup table method.

API Documentation: CRC Flash Diagnostic Test - CRC16, CRC Flash Diagnostic Test - CRC32