Other #402
openTesting of FM25Q chip series
0%
Description
Problem encountered¶
I had to reprogram an FM25Q08B, and ran in a somewhat weird issue:
- the chip was detected
- the registers were properly read,
- the memory reading operation was hanging (I let it run for 20 minutes, with no result).
I added some debugging code across the function path that leads to spi_read_chunked
, and discovered that only the first 2048 bytes could be read, then the chip stopped responding.
Solution¶
After some more digging, I found out that this chip requires paged reading (chunks of 256 bits, similarly to the write process). Note that I've only tried one sample so far (more will come later this week), so I'm currently unable to say if this is a hardware issue or intended.
In the end, my workaround was to override chunksize
in spi_read_chunked
. After that, everything went fine: I was able to dump the existing content, erase the chip, write new content, and verify it back.
I'm sorry for not being able to provide a patch. I'm not familiar enough with the codebase & coding style.
(Maybe) Useful details¶
- A BusPirate was used as the SPI interface
- Flashrom was running on Fedora 35, built from edcea80 (latest master at the time of writing)
- The chip was wired as shown on the wiki page with 6.8k resistors for 3.3V pull-up
Logs: I've run all my tests in verbose mode, so I'll send those later on (I have to transfer them across PCs).