Erasing Flash EEPROM Sector

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi there,

I've got a little question. Im using the BM29F400 Flash Memory EEPROM by
BRIGHT Microelectronics Inc with a C164CI microcontroller (Infineon).
After the command sequence for erasing a sector the following code is
executed:

check_erase:
                MOV     R3,[R2]
                AND     R3,#0080H
                CMP     R3,#0080H
                JMPR    CC_NZ,check_erase
                JMPR    CC_UC,read_mode_enable

The register R2 contains the start adress of the erased sector.

I guess that means that the first Byte of the erased sector must contain
10000000B. Is that right? Does only the first Byte contain this data when
the sector is erased or does every Byte contain 80H? And if this is true,
why is it? I thought that in an erased state every bit is high (or low).
But this doesn't really make sense to me. So please correct me if I'm
wrong, because I'm just beginning handling that stuff.

Thanks for your help.

Thomas


Re: Erasing Flash EEPROM Sector

Quoted text here. Click to load it

This piece of code detects when the Flash device has finished erasing the
sector. Erasure takes a few milliseconds. Some flash devices have a
dedicated RDY/BSY line for this purpose, but to save on I/O, there's the
other method used here.

Every time you read a location, the flash chip toggles DQ7 or stays high,
and when it stops toggeling or becomes low you know the erase operation has
completed. This kind of information is in the datasheet of the particular
Flash device used.

Jeroen



Site Timeline