31.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:
- <Desired NVMOP> is Single Write.
- Follow the Start Sequencer from Start Sequencer.
- Wait for NVM Interrupt from Interrupts.
- 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.
- 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 “Flash Timing Parameters” , total time to program one word is roughly shown below:
DWord Program time = Tnvs + Tpgs + Tprog + Trcv + Trw
If Pre-Programming, the first step adds roughly: DWord Program time = Tpreprog+ Tprepgh + Tprepgs
Single Write and ECC
Single Writes are not allowed because of Flash ECC setting, The Interrupt Flag Summary table defines the interrupt flags that are set.