I recover this post more than one year later...
I've finally tried to do the external programmer. I pass the data via serial port to the MCU (successfully, page by page) and I tried to program the SPI NOR flash also page by page.
My flash is a M25P16, but I cannot get communication with it. I tried to erase the flash, and read individual register, but I always read a 0. There are no errors but the communication is obviously not working.
I tried a lot of things, the lines with the oscilloscope seems clean:
- Modify the speed of the communication
- With CS and without CS, keeping the CS pin low.
- A different flash
- Setting the communication active with rising and falling edge
- MSB, LSB...
I don't have more ideas. The result is always the same, I always read a 0 because the communication is not working.
Any idea?