Maybe writing to flash fails after the first page or something like that. As I said earlier I'd feel a lot more confident if the flash programmer would do a verify.
The code for programming the flash is virtually untouched from Brian's original. I had tweaked the clock ratio a small amount to make it 50:50 is all. The fact that there is valid code at the right location seems it's working fine.
I might have a look at the ROM loader, it'll be different again ...
Ok, the code at $000 is there and matches. So it must be the ROM bootloader. If that's true I have to get another flash chip, I fear. As long as I don't know the cause of the incompatibility I can only try...
So they should be compatible with the Dual SPI modes you use. I looked up in the data sheet that the Adesto chip supports single pin read up to 50MHz and dual read mode up to 104MHz.
Yep, so far, every part tested seems to support all modes. Only very old flash chips don't.
Aside, I was pondering just adopting Chip's much simpler code since it goes plenty fast enough. But then I realised that I'd still like to be able to run tests on the revA boards with the revA IC's.
Comments
The testing program is in the first stage located at the start of the flash, from address 0. Here's the start of it as placed in the binary:
I might have a look at the ROM loader, it'll be different again ...
Issi IS25LP080
Microchip SST25VF080
Amic A25L080
Adesto AT25SF041
ON Semi LE25U40
Winbond W25Q80
BTW, the latter is also quite cheap ($0,28)
Aside, I was pondering just adopting Chip's much simpler code since it goes plenty fast enough. But then I realised that I'd still like to be able to run tests on the revA boards with the revA IC's.