We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I'm hoping somebody can answer the following without me having to figure it out the hard way :) -
Im using the Atmel T89C51CC01 for a project. Configuration data is held in the EEPROM and retrieved from the EEPROM and stored in XRAM on startup.
At the moment the two don't need to over lap because im only using under 1K, but now i need to store over 1K.
The question is: Since the XRAM and EEPROM address spaces are shared, i presume i cannot read from the upper 1K of EEPROM and store it into an XRAM variable at the same address (or near by)?
I guess you use the 'make eeprom look like RAM' thingy, otherwise your post need explaining.
My suggestion: SIMPLE, treat the EEPROM as an EEPROM
Erik
Its not a case of making the EEPROM look like RAM - i treat them as two seperate entities, as you said - Treat EEPROM as an EEPROM.
I think im getting confused - Is the EEPROM a completely seperate entity from the XRAM, EXCEPT for the fact that the address space is shared i.e. you use the same address lines to access both, but because you esentially select 'EEPROM' or 'XRAM' it gets it from the memory accordingly?
is that a PARRALLEL EEPROM? is that an INTERNAL EEPROM? do you have external RAM?
Its the internal EEPROM, and there is no External RAM
this is a thing you need to code
deselect the eeprom in the basic initialized
then write two routines read_ee and write_ee that both select the ee as specified in the datasheet at entry and deselect it on the way out.
this is the standard way of handling 'overlapping' mamory
PS take care of the interrupts.