BTW, if you hold down the reset button while running the flash programming script, it should always be able to talk to the housekeeping SPI and to access the flash. You only need to keep holding the button down until the script starts. Once it has accessed the housekeeping SPI, it will apply an internal reset to the processor which is the same as holding down the reset button, so you can let go of the button.