Execution and Reading from parallel EEPROM

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

Reply to
Ammulu
Loading thread data ...

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.
Reply to
Hans-Bernhard Broeker

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...

Reply to
Yvan BOURNE

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 ...

Reply to
Henry

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

Reply to
Wade Hassler

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

Reply to
Ammulu

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

Reply to
Tauno Voipio

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

Reply to
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.

Reply to
Ammulu

signals ?

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

Tauno Voipio tauno voipio @ iki fi

Reply to
Tauno Voipio

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 ?

Reply to
Yvan BOURNE

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.
Reply to
Hans-Bernhard Broeker

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.