Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

flash memory

Status
Not open for further replies.
Very general question regarding flash memory. I know that flash memory can be programmed using flash routines. How does this flash routine look like and what are the signals used? Theoritically how much time it will take to program it?
 

Ian Rogers

User Extraordinaire
Forum Supporter
Most Helpful Member
Normally flash is the same as EEprom... They usually have a portion of SRAM like a scratchpad... You write to the scratchpad and the device then can take 10mS or so to write the contents to EEprom / flash..

There is usually a sequence ... 0x55.. 0xAA to identify a genuine write.. I am being vague because it varies from chip to chip..

I'm writing a driver for a one wire memory device and that uses similar techniques.. What specific flash are you using... Is it a stand alone flash? parallel or serial? or program memory within a micro?
 
When working with boot loader for freescale i came across this flash driver hex file. So, wanted to know how this driver works? May be once i start understanding it, i can ask specific questions.
 

Ian Rogers

User Extraordinaire
Forum Supporter
Most Helpful Member
Flash in the micro is arranged in blocks.. You need to write / erase complete blocks at a time..

If you grab a datasheet for one of their chips, there is a software sequence that needs to be undertaken for a successful flash write or erase.

First all bytes are written to the sram ( a complete block , 64 bytes on a pic18).
Then the EECON registers are setup.
Then you disable all interrupts.
Then you write 0x55.
Then you write 0xAA.
Then set the write flag.
(When writing or reading flash... NOTHING else can be done until it's finished).

If you use flash for in application use, be prepared for lockups..
 
Status
Not open for further replies.

Latest threads

EE World Online Articles

Loading
Top