Shop OBEX P1 Docs P2 Docs Learn Events
idea... eeprom clone — Parallax Forums

idea... eeprom clone

SawmillerSawmiller Posts: 276
edited 2006-07-30 21:05 in Propeller 1
hey all, heres a idea i have, might be a ok one .. how about a object that you can include when you want to make a clone of your eeprom ?
for example say you are using a propstick.. and you want to make a oneoff project, but you dont want to have to make a interface to program that project once you have perfboarded it.. why couldnt you have a lil circut on your propstick breadboard that went to a zif or just a regular 8 pin socket, and put in a new eeprom... include this object in your file in such a way that it requires a·button press ( that you wont use )·or such to run, and it runs and copies your current eeprom to your new.. only problem i see is making it so it doesnt run when its in your oneoff project...

i currently dont have a usb2ser but on these boards i see coming out the interface seems to require one... also newzed· wants a stache type way to carry his programs back and forth to the shop, and at $4.00 , this might be a way to do so.

the only problem i have is i dont know how you would know what eeprom address to use... do they each have one or is it first to answer gets first address ?

i think that this would be a nice way· to carry programs back and forth ( i'm like newzed, my actual project is going to be out in the shop )
·

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2006-07-30 16:51
    I'm working on something like what you want. It's an object, written mostly in assembly, that either loads and executes a SPIN program in any 32K "page" of an EEPROM attached to any pin pair (SCL even, SDA odd) or copies the contents of RAM to any attached 32K "page". There's a routine in the object that checks whether the EEPROM is actually present. In your program, you'd check first. If the EEPROM is there where you expect it, you call the routine that copies the RAM there and stop. If it's not present, you go on to execute your program normally.
  • SawmillerSawmiller Posts: 276
    edited 2006-07-30 18:17
    one of the important things would to be to keep the object small, so you are not using anymore of your ram reserves than is nessary, since that object would not be actually used in your project
    .
    so your program would have the ability to just use as much of it as nessary to do the job.
  • GadgetmanGadgetman Posts: 2,436
    edited 2006-07-30 18:33
    Or...

    Instead of soldering in the EEPROM in your PropStick, you just add a cable to a small PCB with a ZIF-socket?

    No programming necessary...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Don't visit my new website...
  • SawmillerSawmiller Posts: 276
    edited 2006-07-30 18:37
    heh, yeah only too late..propsticks already built
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2006-07-30 19:49
    The simplest way to do it would be to load your app into EEPROM using F11. Then run a small, null program from RAM (using F10) that tristates all the port lines. Next, connect the target EEPROM and run your clone program from RAM using F10. That way, the clone program can be as big as it needs to be, since it doesn't occupy any EEPROM space. Nor will it be present in the cloned EEPROM.

    -Phil
  • SawmillerSawmiller Posts: 276
    edited 2006-07-30 20:37
    nice phil.. i understood about half of that.. use F11 to load the app you want to transfer, then run the transfer with F10 i can understand... but why/what is tristating the port lines and why is that nessary ?
    i would want to put the transfer socket on the breadboard using the same pins as the propstick uses right now...
    therefore i would pull one of the 1-3 pins of the transfer socket high to change its address, correct ?
    dan
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2006-07-30 21:05
    Sawmiller,

    Yeah, that may unnecessarily complicated. The tristating is only needed if the target socket on the transfer machine uses pins that your app might be using as outputs. It's just a safety precaution, because once the loading is complete after pressing F11, your app will start. But you could also use A28/29 for both the source and target EEPROM, and strap the target socket to a different address so the two don't conflict. Then, not only is the tristating step unnecessary, but you can install your target EEPROM ahead of time.

    -Phil
Sign In or Register to comment.