I’ve been playing with the BBB 32k eeprom by reading and writing data to it. I use fseek(), fopen(), fread() and fwrite(). The device I am reading/writing/opening is:
/sys/bus/i2c/devices/0-0050/at24-0/nvmem
This does seem to work however not well. I noticed that the same data is repeated every 0x1000 bytes. Why is that? Am I not addressing the part correctly? Since I’m ultimately using the at24.c driver, I inspected it and it does seem to attempt to translate addresses for the part. Are there specific limitations with at24 that I should be aware of, nothing seems to be documented that I’ve seen.
Graham,
The part number is AT24c256 and a quick jot over to Atmel’s trusty website and I found the spec sheet… “256K Serial Eeprom… organized as 512 pages of 64 bytes each.”
So, that should mean 512x64 = 32,768 bytes… .32K.
256k bits = 262,144 / 8 = 32,768 bytes… 32k.
I do not think he’s talking about the on board eeprom.
Graham,
The part number is AT24c256 and a quick jot over to Atmel’s trusty website and I found the spec sheet… “256K Serial Eeprom… organized as 512 pages of 64 bytes each.”
But even if he is, the SRM says:
32k right on page 30:
5.3.2 32KB EEPROM
It also says 2G eMMC so it has to be in relationto a Rev A, or Rev B. However . . .since no ones asked, or mentioned the board revision number . . .
I looked at the BOM… U7 is the part. Lo and behold, Graham, you’re right. It’s a 32k-BIT part. The internet said it was a 24c256 part and dammit, we know the internet is NEVER EVER wrong on these things, therefore reality is wrong!
Explains the mirroring I’m seeing every 0x1000 bytes (4k) because the at24.c driver isn’t smart enough to know it’s limited, I think. I knew something was up when I saw that in the memory dump.
I guess whoever wrote the SRM doesn’t realize that “KB” is an abbreviation for kilobytes. Kilobits is Kb or Kbit.
Anyhow I don’t see anywhere where the OP says he rendered his BBB unbootable. However if this is the case, Download the blank flasher image, and it should rewrite the eeprom to factory specs.