English
Language : 

S29WS-P Datasheet, PDF (29/89 Pages) SPANSION – 512/256/128 Mb (32/16/8 M x 16 bit) 1.8 V Burst Simultaneous Read/Write MirrorBit Flash Memory
Data Sheet (Advance Information)
Software Functions and Sample Code
Table 7.22 Autoselect Entry
(LLD Function = lld_AutoselectEntryCmd)
Cycle
Unlock Cycle 1
Unlock Cycle 2
Autoselect Command
Operation
Write
Write
Write
Byte Address
BA+AAAh
BA+555h
BA+AAAh
Word Address
BA+555h
BA+2AAh
BA+555h
Table 7.23 Autoselect Exit
(LLD Function = lld_AutoselectExitCmd)
Cycle
Operation
Unlock Cycle 1
Write
Notes:
1. Any offset within the device works.
2. BA = Bank Address. The bank address is required.
3. base = base address.
Byte Address
xxxxh
Word Address
xxxxh
Data
0x00AAh
0x0055h
0x0090h
Data
0x00F0h
The following is a C source code example of using the autoselect function to read the manufacturer ID. Refer
to the Spansion Low Level Driver User’s Guide for general information on Spansion Flash memory software
development guidelines.
/* Here is an example of Autoselect mode (getting manufacturer ID) */
/* Define UINT16 example: typedef volatile unsigned short UINT16; */
UINT16 manuf_id;
/* Auto Select Entry */
*( (UINT16 *)bank_addr + 0x555 ) = 0x00AA; /* write unlock cycle 1 */
*( (UINT16 *)bank_addr + 0x2AA ) = 0x0055; /* write unlock cycle 2 */
*( (UINT16 *)bank_addr + 0x555 ) = 0x0090; /* write autoselect command */
/* multiple reads can be performed after entry */
manuf_id = *( (UINT16 *)bank_addr + 0x000 ); /* read manuf. id */
/* Autoselect exit */
*( (UINT16 *)base_addr + 0x000 ) = 0x00F0; /* exit autoselect (write reset command) */
November 8, 2006 S29WS-P_00_A7
S29WS-P
27