
359
SAM4CP [DATASHEET]
43051E–ATPL–08/14
Figure 22-8.
Partial Page Programming
Figure 22-9.
Programming Bytes in the Flash
32 bits wide
32 bits wide
FF FF FF FF
FF FF FF FF
FF FF FF FF
FF FF FF FF
0xX00
0xX04
0xX08
0xX0C
0xX10
0xX14
0xX18
0xX1C
Step 2: Flash array after programming
64-bit at address 0xX08 (write latch buffer + WP)
CA FE CA FE
CA FE CA FE
FF FF FF FF
FF FF FF FF
address space
for
Page N
FF FF FF FF
FF FF FF FF
FF FF FF FF
FF FF FF FF
FF FF FF FF
FF FF FF FF
FF FF FF FF
FF FF FF FF
Step 1: Flash array after page erase
32 bits wide
FF FF FF FF
FF FF FF FF
FF FF FF FF
FF FF FF FF
0xX00
0xX04
0xX08
0xX0C
0xX10
0xX14
0xX18
0xX1C
Step 3: Flash array after programming
a second 64-bit data at address 0xX00
(write latch buffer + WP)
CA FE CA FE
CA FE CA FE
FF FF FF FF
FF FF FF FF
FF FF FF FF
CA FE CA FE
CA FE CA FE
32 bits wide
0xX00
0xX04
0xX08
0xX0C
0xX10
0xX14
0xX18
0xX1C
Step 4: Flash array after programming
a 128-bit data word at address 0xX10
(write latch buffer + WP)
CA FE CA FE
CA FE CA FE
FF FF FF FF
CA FE CA FE
CA FE CA FE
CA FE CA FE
CA FE CA FE
CA FE CA FE
CA FE CA FE
32 bits wide
FF FF FF FF
FF FF FF FF
FF FF FF FF
FF FF FF FF
0xX00
0xX04
0xX08
0xX0C
0xX10
0xX14
0xX18
0xX1C
FF FF FF FF
FF FF FF FF
address space
for
Page N
Step 1: Flash array after programming first byte (0xAA)
64-bit used at address 0xX00 (write latch buffer + WP)
FF FF FF FF
xx xx xx xx
xx xx xx AA
32 bits wide
FF FF FF FF
FF FF FF FF
FF FF FF FF
FF FF FF FF
0xX00
0xX04
0xX08
0xX0C
0xX10
0xX14
0xX18
0xX1C
FF FF FF FF
xx xx xx xx
xx xx xx AA
Step 2: Flash array after programming second byte (0x55)
64-bit used at address 0xX08 (write latch buffer + WP)
xx xx xx xx
xx xx xx 55
Note: The byte location shown here is for example only, it can be any byte location within a 64-bit word.
4 x 32 bits =
1 Flash word
4 x 32 bits =
1 Flash word