Electronic – SPI programming flash chip(s) – connecting HOLD and WP pins

pinoutprogrammingspi

I am trying to learn with SPI programming and have started with this guide using a Beaglebone Black.

I have one DIP8 package connected via breadboard for testing, and another SOIC8 package on-board a working system that I would eventually like to flash via clip.

The guide says when flashing a chip that isn't connected to a board, I'll almost certainly have to connect them. Why does it matter whether the chip is connected to a board or not? I'm powering the chip from an external source and the system in question won't be powered on, so I would expect I'd need to connect these pins to VDD regardless.

Best Answer

The full paragraph:

You may also need to connect pins 1 and 9 (tie to 3.3V supply). These are HOLD# and WP#. On some systems they are held high, if the flash chip is attached to the board. If you're flashing a chip that isn't connected to a board, you'll almost certainly have to connect them.

The guide is telling you that if you're programming a flash chip while it's on a board, the board likely ties HOLD# and WP# high to the 3.3V supply (likely through a resistor). If you put the clip on the flash chip, and provide 3.3V as instructed, the 3.3V rail on the board will be energized, pulling the HOLD# and WP# pins high.

If you're programming while the flash chip is NOT on a board, there's no path from the 3.3V supply to pull these pins high. Thus the guide is telling you to do so.

If you're programming outside of a board, I would recommend connecting a resistor, e.g. 10k ohms, between HOLD# and the 3.3V supply. Similarly for WP#.

Related Topic