D a t a S h e e t ( A d v a n c e I n f o r m a t i o n )
Table 7.4 Autoselect Entry in System
(LLD Function = lld_AutoselectEntryCmd)
Cycle
Operation
Write
Byte Address Word Address
Data
Unlock Cycle 1
Unlock Cycle 2
Autoselect Command
BasexAAAh
Basex555h
BasexAAAh
Basex555h
Basex2AAh
Basex555h
0x00AAh
0x0055h
0x0090h
Write
Write
Software Functions and Sample Code
Table 7.5 Autoselect Exit
(LLD Function = lld_AutoselectExitCmd)
Cycle
Operation
Write
Byte Address Word Address
base + XXXh base + XXXh
Data
Unlock Cycle 1
0x00F0h
Note
1. Any offset within the device works.
2. base = base address.
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 (available on www.spansion.com) for general information on
Spansion Flash memory software development guidelines.
/* Here is an example of Autoselect mode (getting manufacturer ID) */
/* Define UINT16 example: typedef unsigned short UINT16; */
UINT16 manuf_id;
/* Auto Select Entry */
*( (UINT16 *)base_addr + 0x555 ) = 0x00AA; /* write unlock cycle 1 */
*( (UINT16 *)base_addr + 0x2AA ) = 0x0055; /* write unlock cycle 2 */
*( (UINT16 *)base_addr + 0x555 ) = 0x0090; /* write autoselect command */
/* multiple reads can be performed after entry */
manuf_id = *( (UINT16 *)base_addr + 0x000 ); /* read manuf. id */
/* Autoselect exit */
*( (UINT16 *)base_addr + 0x000 ) = 0x00F0; /* exit autoselect (write reset command) */
18
S29GL-P MirrorBitTM Flash Family
S29GL-P_00_A3 November 21, 2006