S71WS256NC0BAWE32 SPANSION [SPANSION], S71WS256NC0BAWE32 Datasheet - Page 38

no-image

S71WS256NC0BAWE32

Manufacturer Part Number
S71WS256NC0BAWE32
Description
Stacked Multi-Chip Product (MCP)
Manufacturer
SPANSION [SPANSION]
Datasheet
36
10.5.2
Note: Base = Base Address.
The following is a C source code example of using the single word program function. Refer to
the Spansion Low Level Driver User’s Guide (available on www.amd.com and
www.fujitsu.com) for general information on Spansion Flash memory software development
guidelines.
/* Example: Program Command
/* Poll for program completion */
Write Buffer Programming
Write Buffer Programming allows the system to write a maximum of 32 words in one program-
ming operation. This results in a faster effective word programming time than the standard
“word” programming algorithms. The Write Buffer Programming command sequence is initiated
by first writing two unlock cycles. This is followed by a third write cycle containing the Write Buffer
Load command written at the Sector Address in which programming occurs. At this point, the sys-
tem writes the number of “word locations minus 1” that are loaded into the page buffer at the
Sector Address in which programming occurs. This tells the device how many write buffer ad-
dresses are loaded with data and therefore when to expect the “Program Buffer to Flash” confirm
command. The number of locations to program cannot exceed the size of the write buffer or the
operation aborts. (Number loaded = the number of locations to program minus 1. For example,
if the system programs 6 address locations, then 05h should be written to the device.)
The system then writes the starting address/data combination. This starting address is the first
address/data pair to be programmed, and selects the “write-buffer-page” address. All subsequent
address/data pairs must fall within the elected-write-buffer-page.
The “write-buffer-page” is selected by using the addresses A
The “write-buffer-page” addresses must be the same for all address/data pairs loaded into the
write buffer. (This means Write Buffer Programming cannot be performed across multiple “write-
buffer-pages.” This also means that Write Buffer Programming cannot be performed across mul-
tiple sectors. If the system attempts to load programming data outside of the selected “write-
buffer-page”, the operation ABORTs.)
After writing the Starting Address/Data pair, the system then writes the remaining address/data
pairs into the write buffer.
Note that if a Write Buffer address location is loaded multiple times, the “address/data pair”
counter is decremented for every data load operation. Also, the last data loaded at a location be-
fore the “Program Buffer to Flash” confirm command is programmed into the device. It is the
software's responsibility to comprehend ramifications of loading a write-buffer location more than
once. The counter decrements for each data load operation, NOT for each unique write-buffer-
address location. Once the specified number of write buffer locations have been loaded, the sys-
tem must then write the “Program Buffer to Flash” command at the Sector Address. Any other
*( (UINT16 *)base_addr + 0x555 ) = 0x00AA;
*( (UINT16 *)base_addr + 0x2AA ) = 0x0055;
*( (UINT16 *)base_addr + 0x555 ) = 0x00A0;
*( (UINT16 *)pa )
Unlock Cycle 1
Unlock Cycle 2
Program Setup
Program
Cycle
Table 10.13 Software Functions and Sample Code
Operation
A d v a n c e
Write
Write
Write
Write
*/
S71WS-Nx0 Based MCPs
= data;
Word Address
Base + AAAh
Base + 554h
Base + AAAh
Byte Address
/* write unlock cycle 1
/* write unlock cycle 2
/* write program setup command
/* write data to be programmed
I n f o r m a t i o n
Word Address
Word Address
Base + 2AAh
Base + 555h
Base + 555h
MAX
- A5.
S71WS-N_01_A4 September 15, 2005
Data Word
00AAh
00A0h
0055h
*/
*/
*/
*/
Data

Related parts for S71WS256NC0BAWE32