Execution and Reading from parallel EEPROM

Oct 06, 2003 11 Replies

Hi,



I am working with parallel EEPROM and the application is as follows:



The code will be executed from parallel EEPROM and i require to read total contents of the same parallel EEPROM, Which i am unable to read.



Is it possible in EEPROM to read the when executing from the same(EEPROM)?



I am using AT28HC256 EEPROM.



Pls let me know the information on the above at the earliest.


Thanks in advance, Amul


Unable why? How exactly did you try to do it? What's preventing you from succeeding to do it?

Depends on what CPU you're using. If it's a von-Neumann architecture, it should know how to disentangle code fetches and data memory access properly. If you've von-Neumann'ed a Harvard architecture processor by means of external chip select logic, you *might* be in trouble.

Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de) Even if all the snow were burnt, ashes would remain.

Hi, You have to copy your code in RAM (code which read or write in EEPROM) and execute it in RAM. After these operations, you can return in your EEPROM code. Yvan

********************** YBDesign
formatting link
**********************

Hans-Bernhard Broeker a écrit dans le message : blrjdg$o1e$ snipped-for-privacy@nets3.rz.RWTH-Aachen.DE...

Depends on CPU/controller used. Please specify. I think you mean writing AND excecuting code of the EEPROM at the same time. This is not possible. The EEPROM is locked until write has taken.

- Henry

Ammulu schrieb in Nachricht ...

If you can execute code from a 28HC256 EEPROM you *are* reading it. Perhaps your processor is configured to treat the device as CODE-memory only, using another memory-space (or chip-select) for DATA memory. Wade

Hi,

I am using Motorola 68332 Microcontroller(basically CPU32 arch).

I need execution and reading from same EEPROM.

When I am executing the same code from RAM, i am able to read entire EEPROM to calculate the CHECKSUM of the same code.

I am not able to read the entire EEPROM when executing the code from EEPROM, it should be noted that the code being executed is also to be read for my purpose.

pls give more information for the above

Thanks in advance, Amul

How does it show that you're not able to read the EEPROM data?

Are you sure that there are no locations written in the middle of the code? The data of the code can be in the same meory block if the code is run from RAM, but the data must be located to the RAM separate from the EEPROM when running code from the EEPROM - you *cannot* use the same piece of binary code. Check your linker map.

Been there - done that (with a 68332) - it does work properly done.

HTH

Tauno Voipio tauno voipio @ iki fi

You say you can boot up but not read the entire EEPROM(?) The default size of the boot-ROM chip-select is 2Kbytes; to address a

28HC256 you must change the size to at least 8Kbytes

Another possibility: you _may_ have the CPU configured for separate data/code spaces: check the reset-time setup (certain data lines are pulled down by reset to configure the operation.)

Also: are the wait-state settings correct? Parallel EEPROMs are slow.

(This is based on experience with the 68HC16, which has the same peripheral interface as the 68332.)

Good luck. It'll be fun once you get past the bumps Wade Hassler

Hi,

I am writing data to parallel EEPROM through programming tool right now.

Is it possible to write parallel EEPROM through software ? If possible, is it through alogrithm or through proper timing of control signals ?

I could find alogrithm for chip erase of parallel EEPROM .

HTH,

Amul.

signals ?

Get the data sheet of the EEPROM chip you're having. It tells how.

Tauno Voipio tauno voipio @ iki fi

Hi, Yes, you can write to tour EEPROM through your embeded software, but the function to do this MUST be executed in RAM. There's no algorithm to write in EEPROM (28Cxx I think...), it's like an RAM write, but the difererence is a delay after the WR pulse before an athoer access to the EEPROM. This delay is the time that the EEPROM spend to write the byte inside its memory array (have a look at "DATA polling" and "Toggle bit" in the datasheet). So, there is no algorithm for these type of memory (except to lock and unlock "software data protection").

Yvan

********************** YBDesign
formatting link
**********************

Ammulu a écrit dans le message : snipped-for-privacy@posting.google.com...

signals ?

Not necessarily. It just must be executed _somewhere_ else than the EEPROM you're writing to. Could be anything, really. RAM, a boot-loader PROM, CPU-internal code memory if your chip has any, or just a second EEPROM.

If the micro in question is a Harvard architecture, wiring a von-Neumann RAM section just for this might be a waste of effort, and one of the other methods would work better.

Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de) Even if all the snow were burnt, ashes would remain.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required