30.2.15.2 Single Write Sequence

The smallest block of data that can be programmed with a single write is one DWord (aka a Write Word). The data to be programmed must be written to DATA0 and DATA1 before the programming sequence is initiated. The FCW programs the DATAx into the DWord location pointed to by ADDR. ADDR is a byte address, so the lower 3 bits are ignored for DWord programming.

A DWord Program sequence typically comprises the following steps:

  1. <Desired NVMOP> is Single Write.
  2. Follow the Start Sequencer from Start Sequencer.
  3. Wait for NVM Interrupt from Interrupts.
  4. Check the INTFLAG bits to ensure that the program sequence completed successfully, and then clear all bits in INTFLAG. See Errors and Flags about error flags.
  5. Unlock the hardware write mutex by setting the LOCK bit to ‘0’ and the OWNER field to ‘00’ simultaneously to the MUTEX register.

A Word/DWord within the Flash can be programmed if its associated page write protection is not enabled, see Debug Access Level.

Single Write Timing

DWord Program timing is dominated by setup (Tnvs + Tpgs), program time (Tprog) and recovery (Trcv) delays. Using the timing shown in Non-Volatile Memory Controller (NVM) Electrical Specifications, the total time to program one word is roughly shown as follows:

DWord Program time = TFW

If Pre-Programming, the first step adds roughly: DWord Program time = Tpreprog+ Tprepgh + Tprepgs

Single Write and ECC

Single Writes are not allowed when ECC mode is set to 'ECC Writes with ECC Reads'. The Interrupt Flag Summary table defines the interrupt flags that are set.