How to copy eeprom to eeprom
T Chap
Posts: 4,223
I have a spare eeprom on a board that contains information that I want to copy the spare on other boards. I can write an app to extract the spare data, save it on a PC and transfer it to the next board, but was hoping there might be some system already available for this. The other option is to write a method that would transfer the 32k to a file on a USB thumbdrive, since there is a Vinculum on board. Then take the USB drive the next board and read/ it into the eeprom. This is a process I will need to do all the time, not a one off. The eeproms are surface mounted.
Comments
Hydra has a DIP socket EEPROM 128Kx8 even though only 32Kx8 is usually used.
Hydra also has a Game Card which will start as soon as it is Hotplugged, which contains only
another 128Kx8 eeprom SMD and some jumpers.
Someone discovered that the Motherboard EEPROM (removable) changes address when the Card is plugged in.
And there is an OBEX object to read and write EEPROMs using I2C.
So as I understand the question, at least one removable eeprom that is wired to be accessible as well as the other one,
means just a short program to read bits from one and write them to the other using the object.
Before I got Prop Plugs and USB protoboards, I used to use HYDRA to program eeproms for other Propellers with the
Propeller tool, but that's what you said you don't want to do. I agree with not using the PC all the time, but could you
have meant something else?
I'll assume you want to make a self-operating eeprom copier device out of a Propeller.
It's possible with 3 eeproms to do that, and the 3rd eeprom holds the copying program that works as I described.
The A0 A1 A2 pins are how the eeproms know what order they are accessible in.
The dual 128K eeprom feature in the Hydra is a side effect of what might have been intended to disable
the board eeprom but in practice it just moved it to a higher block of accessible memory.
In other words, the A0A1A2 pins allow up to 8 eeproms connected in parallel but the binary number on the A pins
tells them each who's first second third fourth fifth sixth seventh eighth in order.
huff-puff....
program eeprom shound be first (0th). All A's grounded.
since there are at least 3 eeprom sizes maybe the ones that need copying should be 4th and 6th,
so in the program sockets one has A2 at +3.3V and the other has both A1 and A2 at +3.3V.
The program might have to do a little figuring out the size of the eeproms and if that affects their
memory address, unless you plan on copying only 32K eproms, then you just have to write a
program that reads the 4th block of eeprom memory and writes it immediately to the 6th block.
My choice of 0th, 4th and 6th would be arbitrarily convenient for me.
You can put the eeproms in binary 000 (program) binary 001 (to be copied) binary 010(to be the copy)
if that way is easier for YOU, and it probably IS.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Computers are microcontrolled.
Robots are microcontrolled.
I am microcontrolled.
But you·can·call me micro.
Want to·experiment with the SX or just put together a cool project?
SX Spinning light display·
This COPY statement can be used in a program, so you could write a program in FemtoBasic that would copy one EEPROM to several others when a PS/2 keyboard key was pressed and display status messages on an attached TV or VGA monitor.
The addresses can't be changed.