FlashFlex51 MCU
SST89E52RD2 / SST89E54RD2 / SST89E58RD2 / SST89E516RD2
SST89V52RD2 / SST89V54RD2 / SST89V58RD2 / SST89V516RD2
Preliminary Specifications
4.2.4 In-Application Programming Mode
Commands
IAP Enable
All of the following commands can only be initiated in the
IAP mode. In all situations, writing the control byte to the
SFCM register will initiate all of the operations. All com-
mands will not be enabled if the security locks are enabled
on the selected memory block.
ORL SFCF, #40H
Erase Block 0
Erase Block 1
MOV SFAH, #F0H
OR
MOV SFAH, #00H
The Program command is for programming new data into
the memory array. The portion of the memory array to be
programmed should be in the erased state, FFH. If the
memory is not erased, it should first be erased with an
appropriate Erase command. Warning: Do not attempt to
write (program or erase) to a block that the code is cur-
rently fetching from. This will cause unpredictable pro-
gram behavior and may corrupt program data.
Set-Up
MOV SFDT, #55H
Polling scheme
MOV SFCM, #0DH
Interrupt scheme
MOV SFCM, #8DH
4.2.4.1 Chip-Erase
The Chip-Erase command erases all bytes in both memory
blocks. This command is only allowed when EA#=0 (exter-
nal memory execution). Additionally this command is not
permitted when the device is in level 4 locking. In all other
instances, this command ignores the Security Lock status
and will erase the security lock bits and re-map bits.
SFST[2] indicates
operation completion
INT1 interrupt
indicates completion
1255 F09.0
4.2.4.3 Sector-Erase
The Sector-Erase command erases all of the bytes in a
sector. The sector size for the flash memory blocks is 128
Bytes. The selection of the sector to be erased is deter-
mined by the contents of SFAH and SFAL.
IAP Enable
ORL SFCF, #40H
Set-Up
MOV SFDT, #55H
IAP Enable
ORL SFCF, #40H
Program sector address
MOV SFAH, #sector_addressH
MOV SFAL, #sector_addressL
Polling scheme
MOV SFCM, #01H
Interrupt scheme
MOV SFCM, #81H
SFST[2] indicates
INT1 interrupt
operation completion
indicates completion
Polling scheme
Interrupt scheme
MOV SFCM, #0BH
MOV SFCM, #8BH
1255 F08.0
4.2.4.2 Block-Erase
SFST[2] indicates
INT1 interrupt
The Block-Erase command erases all bytes in one of the
two memory blocks (Block 0 or Block 1). The selection of
the memory block to be erased is determined by the
(SFAH[7]) of the SuperFlash Address Register. For
SST89x516RD2, refer to Table 4-5. For SST89x5xRD2, if
SFAH[7] = 0b, the primary flash memory Block 0 is
selected. If SFAH[7:4] = EH, the secondary flash memory
Block 1 is selected. The Block-Erase command sequence
for SST89x5xRD2 is as follows:
operation completion
indicates completion
1255 F10.0
©2004 Silicon Storage Technology, Inc.
S71255-00-000
3/04
40