17.2.5 Program (Program
)
Command
The PROGRAM
command instructs the PE to program the Flash memory,
including configuration words, starting from the 32-bit address specified in the
Addr_Low
and Addr_High
fields. A 32-bit length
field specifies the number of bytes to program.
Field | Description |
---|---|
Op code | 0x2 |
Operand | Not used |
Addr_Low | Low16 bits of 32-bit destination address |
Addr_High | High16 bits of 32-bit destination address |
Length_Low | Low16 bits of Length |
Length_High | High16 bits Length |
Data_Low_N | Low16 bits data word 2 through N |
Data_High_N | High16 bits data word 2 through N |
- The length of the data to be programmed is the size of a single Flash row
- The length of the data to be programmed is the size of two Flash rows
- The length of the data to be programmed is larger than the size of two Flash rows
When the data length is equal to 512 bytes, the PE receives the 512-byte block of data from the probe and immediately sends the response for this command back to the probe.
PROGRAM
command. On receiving the failure
status, the probe must stop sending data. The PE will not process any other data for
this command from the probe. The process is illustrated in Figure 17-8.PROGRAM
command fails, the programmer must read the failing row
using the READ
command from the Flash memory. Then the programmer
must compare the row received from the Flash memory to its local copy, word-by-word,
to determine the address where Flash programming fails.The response for this command is a little different than the response for other commands. The 16 MSbs of the response contain the 16 LSbs of the destination address, where the last block is programmed. This helps the probe and the PE maintain proper synchronization of sending and receiving data and responses.