AN2183 Freescale Semiconductor / Motorola, AN2183 Datasheet - Page 3

no-image

AN2183

Manufacturer Part Number
AN2183
Description
Using FLASH as EEPROM on the MC68HC908GP32
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
AN2183
MOTOROLA
If an example application uses a FlashEE data block size of four bytes,
then 32 program cycles of four bytes each will be performed prior to
executing a single erase cycle, at which point this would be considered
one complete program/erase cycle. Hence, in this example, the FlashEE
endurance would be calculated as being 320,000 program/erase cycles
(in other words, 10,000 x 32).
The high voltage program time used by the subroutines herein to
program four bytes is less than 150 s. Each program row would be
subjected to a program cycle 16 times (remember, two program rows
per erase page). This provides a cumulative time of less than 2.4 ms
(150 s x 16), which is less than the maximum specification given.
The FLASH block protect register (FLBPR) points to the first FLASH
memory location to be protected. When programmed, every location
from that address to $FFFF will be protected from accidental erasure.
For this reason, it is easiest to assign the FlashEE sections to the very
beginning of the FLASH memory, assuming that the FLBPR may be
used to protect application code.
To simplify the FlashEE implementation, some essential guidelines have
been used, specifically:
Programming only one byte is possible, but may result in application
code inefficiencies since an entire 128-byte FLASH erase page would
need to be reserved for each single byte of FlashEE.
If the data storage space requirement exceeds the size of a single
FLASH program row (i.e., more than 64 bytes on the
MC68HC908GP32), then the data will need to be split up over multiple
FlashEE sections, each occupying one FLASH erase page (i.e.,
128 bytes on the MC68HC908GP32). If multiple FlashEE sections are
used, they must be manipulated separately. This is demonstrated with
the test program provided.
Freescale Semiconductor, Inc.
For More Information On This Product,
FlashEE data is written in blocks of multiple bytes.
Each FlashEE data block fits within a single FLASH program row.
The first FlashEE data block byte to be written cannot be equal
to $FF.
Go to: www.freescale.com
FlashEE Implementation
Application Note
3

Related parts for AN2183