How-To : Upgrading my Parallax Pro Dev board to 128 Kb with the 24LC1025
tj4shee
Posts: 25
Hi, just thought I would share my experience in getting a 1024 bit eeprom working in the boot eeprom socket of my 32111.
It was not an even swap.... like it would be replacing the standard issue 24LC256 with a 24LC512 - which are swappable with no changes.
There were actually 2 things that needed to be done to get the 24LC1025 working..... see an image of my handy work attached....
1). the A2 pin *MUST* be connected to Vcc - the problem is that the socket at pin A2 is already hardwired to Ground.... so you have to basically bend the A2 pin upwards so that it does not go into the socket... and then solder it to Vcc.... it won't look pretty, but it works...
2) Not really associated with the 24LC1025, but required to be able to write to the eeprom programmatically. SCL needs a pull-up resistor on it...... Seeing as the processor had no problem accessing it, I had figured it already had a pull-up on it... but it didn't and it was driving me crazy trying to figure out why I could not write to it.... the mcu could... and Tachyon Forth could... I haven't played around with it yet, but seeing as the others didn't need the pullup, I am guessing it could be accomplished using the high(SCL) simpletools command.... something I will play with eventually.
3).... I know.. I only said there were 2 things.... this is really more of a note....
3a) the low 64Kb of the chip is addressable at the same i2c address as the original... as expected... it is at $A0 (use this when you us the i2c_poll command) or $50 for the 7-bit address (use this for all other i2c commands).
3b) the high 64Kb of the chip is addressable at $A8 (used for poll command) and $54 as the 7-bit address (used for all other i2c commands).
3c) This creates a small problem.... the Simpletools eeprom library is hardcoded for the lower 64Kb.... so the high 64 Kb needs to be accessed via alternate i2c commands..... So to make the access easier, I have created a new library..... it is basically a copy of the simpletools eeprom routines... but modified for address $A8 / $54...... I will post the library on OBEX.
Hope this keeps someone from pulling the last threads of hair out... feel free to msg me if you have questions, comments, problems.
TJ
It was not an even swap.... like it would be replacing the standard issue 24LC256 with a 24LC512 - which are swappable with no changes.
There were actually 2 things that needed to be done to get the 24LC1025 working..... see an image of my handy work attached....
1). the A2 pin *MUST* be connected to Vcc - the problem is that the socket at pin A2 is already hardwired to Ground.... so you have to basically bend the A2 pin upwards so that it does not go into the socket... and then solder it to Vcc.... it won't look pretty, but it works...
2) Not really associated with the 24LC1025, but required to be able to write to the eeprom programmatically. SCL needs a pull-up resistor on it...... Seeing as the processor had no problem accessing it, I had figured it already had a pull-up on it... but it didn't and it was driving me crazy trying to figure out why I could not write to it.... the mcu could... and Tachyon Forth could... I haven't played around with it yet, but seeing as the others didn't need the pullup, I am guessing it could be accomplished using the high(SCL) simpletools command.... something I will play with eventually.
3).... I know.. I only said there were 2 things.... this is really more of a note....
3a) the low 64Kb of the chip is addressable at the same i2c address as the original... as expected... it is at $A0 (use this when you us the i2c_poll command) or $50 for the 7-bit address (use this for all other i2c commands).
3b) the high 64Kb of the chip is addressable at $A8 (used for poll command) and $54 as the 7-bit address (used for all other i2c commands).
3c) This creates a small problem.... the Simpletools eeprom library is hardcoded for the lower 64Kb.... so the high 64 Kb needs to be accessed via alternate i2c commands..... So to make the access easier, I have created a new library..... it is basically a copy of the simpletools eeprom routines... but modified for address $A8 / $54...... I will post the library on OBEX.
Hope this keeps someone from pulling the last threads of hair out... feel free to msg me if you have questions, comments, problems.
TJ