Agilex™ 7 Hard Processor System Technical Reference Manual

ID 683567
Date 8/13/2024
Public
Document Table of Contents

15.5.1.4. ECC Enabling

Before you start any data operation on the flash device, you must decide whether you want ECC enabled or disabled.

To prevent spurious ECC errors, software must use the memory initialization block in the ECC controller to clear the entire memory data and initialize the ECC bits. The initialization block clears the memory data. Initializing the memory with the initialization block is independent of enabling ECC.

Set up the appropriate correction level depending on the page size and the spare area available on the device by writing to the ecc_correction register in the config group.

Set the flag bit in the ecc_enable register in the config group to 1 to enable ECC. If enabled, the following registers in the config group must be programmed accordingly, else they can be ignored:

  • Initialize the ecc_correction register to the appropriate correction level.
  • Program the spare_area_skip_bytes and spare_area_marker registers in the config group if the software needs to preserve the bad block marker.