I'm trying to do a little debugging of a cheaply made mp3 player board I bought, which lacks documentation. I have been able to work out that it wants to write and read from a W25Q128 style SPI flash chip, which isn't actually present on the board it came on.
I know that with a real chip of that type I'd have non-volatile memory (yes the uno has eeprom, but only a small one), and lots more of it too, but for testing purposes I just want an arduino (uno R3, atmega328p based) to watch these incoming communications, print them out to software serial as they happen and CRUCIALLY: respond with any responses the board-under-test would expect a real W25Q128 (or equivalent) flash chip (a factory fresh empty one, I'm not trying to replicate the content of a missing but pre-programmed one, just look at what commands the board sends to a fresh one) to respond with. It doesn't need to save anything in a non-volatile manner, it will just watch and print to serial the bytes it receives when the board gets power cycled (arduino on separate supply stays on throughout) or other events (button presses...) happen to it.
Does anyone by any chance have an example arduino script already in existence which does this? I ask on "no point reinventing the wheel" grounds. If nobody does I can look in to it further, I know it is simple to make an atmega328p serve as an SPI slave, the part I'm not sure about is whether there's a whole "table" of expected responses which a device trying to save things to, and read things from, an SPI flash chip would need to receive back.
I haven't made any uses of SPI flash chips in anything I've done before so I'm not sure if there are standard, or device specific, conventions for what types of command they are supposed to take and respond to.
Thank You