I'm using this EEPROM: Atmel AT25640B SPI EEPROM DATASHEET
It seems pretty straight forward to operate and I've followed the datasheet closely when coding my driver. I seemed to have some success without too much trouble. Now, I'm having some issue with writing bytes and they're not sticking. For example, I write 10 bytes, but when I immediately read them back(to verify they've been written, I get all 10 bytes back at 0. Is there possibly something fundamental that I'm missing with how to operate this EEPROM?
As I understand Page Write, I can write up to 32 bytes sequentially and then it will roll over to the start address? Are the "pages" physically set 0-31, 32-63, etc or are they determined by where you start writing? ex: If I write 8 bytes at address 29, will it roll over to 0 or will it continue as expected and finish writing at 36? The datasheet is not clear.
The basic steps seem to be to send a WRITE ENABLE Command(1). Then separately, send a WRITE Command followed by address and the bytes to write.
I'm running the at 5v. I've tried to slow down the SPI clock to 1khz from 10mhz with no difference in behavior.
What else can I try?