Loading EEPROM with extra data
spinbob
Posts: 27
I have an EEPROM image that has extra data in it(from an upload) and the Propeller tool won't program or load the extra data. I have looked hard and got hits for the same problem and can't find the answer. I presume it's a checksum(this could be bad) or some other issue. Anyone have a app to program the EEPROM regardless of contents. Thanks
Comments
The Propeller always programs the entire lower 32 KB of EEPROM when you do an EEPROM load from the Propeller Tool (or any other loading utility). It never touches anything above 32 KB, unless you use an EEPROM object to programatically write into that memory space. There is no checksumming that takes place.
Consider using an object like this one:
http://obex.parallax.com/object/23
Does the data you want to erase live below (<32 KB) or above (>32 KB) the 32 KB line?
The boot code in the Propeller's ROM that is responsible for writing your program to EEPROM when you program EEPROM only knows to talk to the lower 32 KB. Thus, Propellent and the Propeller Tool won't be able to load into the upper EEPROM.
Since there is this limitation, you will have to load your large application in two stages - the lower half then the upper half. The upper image will have to be loaded into RAM, and then programmatically copied into upper EEPROM. I'd split your .eeprom image at the 32 KB line and "include" the upper bits with the "file" operator in a DAT section. Your included data will have an address in the Hub RAM image, which you can point the I2C EEPROM driver at as a source, with the destination being upper EEPROM starting at your desired address.
Or, perhaps you could write an EEPROM duplicator program if you need to load more than a few. This way, you can get one just the way you want, and then read that EEPROM as a source and write your target EEPROM byte for byte, up to the size (number of bytes) you need.
Make sense?
To be able to load this data into another EEPROM, you will have to use a Propeller program that explicitly writes the additional data into upper EEPROM because the Propeller's boot loader was not designed to be able to write into that memory space.
Update: Just dug out my copy of HAM and modified it. It then happily uploads anything you throw at it.
For folks following this; The Ham program has a hex editor, that will come in handy with the checksum issue.
Thanks for the help.
How did you generate the image you are attempting to download?
I did get a unit programmed today and ready to ship. This is a big deal, we were just about to start pulling the EEPROms off the board to stick in the programmer.,