Came time to test operation of I2C in a sample app running on an eval board.
This called for some sort of target. Rummage in junk box: oho! Here's a breakout board with what ought to be an EEPROM, with leads running off to little 0.025" socketlets, just for hooking up to such a board!
I can't quite read the label on the chip, but guess that it's a 24AA64. OK, takes two address bytes, and is generally boring, right?
Hook it up to the board, along with the Beagle so I can watch the bus activity.
Hack up a little test. Hack further, as it turns out I don't have the driver configured properly. Eventually get bus activity.
It's. Not. Making. Sense.
Eventually think: what if this isn't a 24AA64? It's acting kind of like it takes one address byte, not two.
Change program accordingly. Now it seems to be working.
What was a 256 byte EEPROM doing in my junk box? Oh, wait. Is this actually a 24AA02E48, Ethernet MAC address ROM plus 128 bytes of user EEPROM?
Read the top of the address space. Yup, that looks like a MAC address in the last six bytes. Used to have it wired up to an LPC2387 eval board, as a source of a MAC address, which explains its presence.
Oh, well. I didn't waste all that much time on the misidentification. And now I've confirmed that I can talk to an EEPROM using the chip vendor's device driver.
That being confirmed, I could now proceed to send a board out to fab, except that I'm having some further thoughts as to what ought to go on that board. Also, there's real work to be done next time my brain is in working order. I suppose I could send the board out as-is, and contemplate adding features later on.