18.3.5.2 Flash Write Command

The Flash Write command is used to write the Flash contents.

The Flash memory plane is organized into several pages. Data to be written are stored in a load buffer that corresponds to a Flash memory page. The load buffer is automatically flushed to the Flash:

  • Before access to any page other than the current one
  • When a new command is validated (MODE = CMDE)

The Write Page command (WP) is optimized for consecutive writes. Write handshaking can be chained; an internal address buffer is automatically increased. An additional WP command must be executed if a full page is not written or if the write data starts from a non-zero page offset.

Table 18-7. Write Command
StepHandshake SequenceMODE[3:0]DATA[15:0]
1Write handshakingCMDEWP or WPL or EWP or EWPL
2Write handshakingADDR0Memory Address LSB
3Write handshakingADDR1Memory Address
4Write handshakingDATA*Memory Address++
5Write handshakingDATA*Memory Address++
............
nWrite handshakingADDR0Memory Address LSB
n+1Write handshakingADDR1Memory Address
n+2Write handshakingDATA*Memory Address++
n+3Write handshakingDATA*Memory Address++
............

The Flash command Write Page and Lock (WPL) is equivalent to the Flash Write Command. However, the lock bit is automatically set at the end of the Flash write operation. As a lock region is composed of several pages, the programmer writes to the first pages of the lock region using Flash write commands and writes to the last page of the lock region using a Flash write and lock command.

The Flash command Erase Page and Write (EWP) is equivalent to the Flash Write Command. However, before programming the load buffer, the page is erased.

The Flash command Erase Page and Write the Lock (EWPL) combines EWP and WPL commands.