Verifying: Using upper 32k EEPROM on SPinneret
xanatos
Posts: 1,120
Just verifying - nothing on the Spinneret uses the UPPER 32k of memory - anything over $7FFF is clear to write to via I2C without fear of stomping on anything the Spinneret needs - am I correct or am I missing something?
As a corollary to my question, confirming that the only way to write to that upper 32k is via an I2C command - no byte/word/long declaration can write above the 32k program memory area, yes/no?
Thanks,
Dave
As a corollary to my question, confirming that the only way to write to that upper 32k is via an I2C command - no byte/word/long declaration can write above the 32k program memory area, yes/no?
Thanks,
Dave
Comments
This will depend on the program you're using I'll let others comment about Spinneret programs which may use upper EEPROM.
You are correct about there not being a way to declare a byte/word/long which will write to the upper 32K of EEPROM. This can be useful when storing data you don't want overwritten when a new program is loaded to the Propeller. The Propeller Tool will write to the lower EEPROM but the Propeller chip needs to use an I2C command to either read from or write to the EEPROM in any location (except during bootup when it will load the RAM with the contents of lower EEPROM).
I'm using HTTPServer, which I believe is the only one that might do any other writing anywhere that I might not be able to properly deduce. Other than that, I'm using SNTP, SimpleNumbers, StringMethods, RTC, whe Wiznet drivers (5100 or 5200 - it's not right in front of me at the moment), the response items, and the SD Card drivers. I *think* I should be safe... but my experience is so limited that I can't be sure yet.
Nope, nothing uses the upper 32k that you have loaded.
I was going to post a link to the I2C_ROMEngine object in the object exchange but I can't seem to locate it there right now. I know it's there, cuz that's where I got it from originally. That particular object is nice because it follows hand in hand with the SDCard driver and RTC driver you're using- written by the same person.
Your project doing ok now?
Thanks for the confirmation, much appreciated.
The project is nearing completion. I am wiring up the massive alarm display panel now (128 leds driven by 2 MAX7219 display drivers). The Spinneret is sending out my emails like clockwork - literally, since it's driven by the SNTP-set RTC on board the Spinneret. The BS2px and the Propeller are talking to each other so the data is going smoothly with a nice handshaking setup, and the BS2 side of things - well, that's what I'm used to so it's all doing a bunch of things very well. I have a dozen web-based screens that reside on the SD Card that ask for user data to alter various operational parameters - the last of which are items I want stored in EEPROM and read at startup, hence my verifying that the EEPROM high 32k is in the clear. I'm going to be installing this thing next week!
I couldn't have done it without help from the forum people here. The Spinneret has a steep learning curve compared with the stuff I'm used to from the Stamp world. Thanks again for your suggestions and pointers.
Dave
It's a pain to try to find things in the OBEX now.
My guess is this is the object you were looking for.
I'm pretty sure it's the only I2C object by Kye in the OBEX.