Flash Erase and Write failures happen due to the following reasons:
- The sector or block to which write operation is issued is not erased prior to the write operation.
- Write/Erase command set in the SysConfig is incorrect for the configured protocol. Some flashes have different commands for 3-byte and 4-byte addressing.
- Flash Program and Flash Busy Timeout defined is too low.
- As mentioned in Figure 5-2 , the default selected address range 0x60000000, must be marked as
Strongly Ordered, and not Cached. Marking the region as
Cached leads to write failures.