How do I load a program into a secondary EEPROM? (A0 address pin pulled high)
WBA Consulting
Posts: 2,935
For my Thermistor Tester project, I utilized Mike Green's sdspiFemto to create an EEPROM Bootloader to boot from a secondary EEPROM (one with the A0 pin pulled high) if it was present. I have made a few "EEPROM Keys" for this purpose, but would like to make some full SMT versions and seal them with a potting material. This means I can't yank the DIP EEPROM out of the Key's 8 pin socket to drop into one of my M44D40+ modules to program it with the Propeller Tool. So.....
How do I load a program into an EEPROM that has the A0 address line pulled high?
How do I load a program into an EEPROM that has the A0 address line pulled high?
Comments
Or even dafter, a mercury switch?? just program them upside-down.
(I'll get back in my basket now)
Alan.
http://docs-europe.electrocomponents.com/webdocs/0244/0900766b80244371.pdf Some of these these are quite small.
Jeff T.
Toby: Excellent idea, especially since I have a ton of these tiny reed switches and some of these with leads. I used one as a reset switch for my PlungeLogger so I wouldn't have to open the case. I'll have to figure out how to make it work with my adapter PCB I am using since the reed switch is longer.
To work for your purpose the binary (actually the original spin file) would need to be edited to write to A1 instead of A0. So the Win program is not modified it is the embedded binary that is edited. Using RAM to run and write to the A1 EEPROM means the contents of A0 are never touched.
I will modify a copy of the binary in case you would like to try it, if you decide on other means then nothing is lost.
Jeff T.
I will probably end up using your loader anyways for something else I am working on for my daughter. I have a device that can use 4 different programs and they are all small enough to fit in a single EEPROM so I just need to make a "boot select" option to pick one.
The Propeller tool lets you choose between DTR and RTS to reset the Prop. You can use this to advantage, as in the following circuit:
When /DTR goes low and returns high, as in a normal PC-instigated reset, the main EEPROM's A0 will go low and the aux EEPROM's A0 will go high. When /RTS is low while /DTR is high, the situation will be reversed, but asynchronously, since it's connected to /PRESET. Upon power-up, the supervisor connected to /CLEAR makes sure that the startup program is loaded from the main EEPROM.
Anyway, it's untested, but I think it would work.
-Phil
Addendum: Of course, a more general solution, over which you have the most behavioral control, would be to replace the ICs, transistors, and passive components in the circuit above with a single 8-pin AVR or PIC.