Hi there,

>> Which specific I2C EEPROM chip do you use?
> 
> I'm using a 24FC128, specifically chosen because the driver mentioned
> this family.

I wanted to verify the Eeprom driver myself, so I set up a simple test project 
using the 24FC1025 in 8pin DIP.
Since this needed a breadboard, I used an RCA specific STM32F407 breakout, 
therefore this is not an xpcc example.
But the code is pretty board independent anyway:
https://gist.github.com/salkinium/da0db79a2808fa4f48ca0ac608de57a8

The example writes 32kB of data using 128B page writes using the driver.
I modified the driver to allow addressing the upper 64kB using the A16 bank bit 
in the control byte (or address byte).
https://github.com/roboterclubaachen/xpcc/commit/c424fd1f8e0adb3e4ffd3cc9ab0247b1ee76fae3

I had significant electrical trouble in getting the EEPROM chip to work, and 
saw random write failures just like you.
Then I had a closer look at the datasheet, and I wired up pin A2 to low, 
instead of high, assuming it was an address pin.
The datasheet is pretty clear on this:

        Non-Configurable Chip Select.
        This pin must be hard wired to logical 1 state (VCC).
        Device will not operate with this pin left floating or held to logical 
0 (VSS).

After doing so, the Eeprom worked just fine.

Cheers,
Niklas
_______________________________________________
xpcc-dev mailing list
xpcc-dev@lists.rwth-aachen.de
http://mailman.rwth-aachen.de/mailman/listinfo/xpcc-dev

Reply via email to