Based on the discussion in our previous article on the connection between JTAG and SPI It's not a surprise that there's a connection between JTAG along with SPI tools. 

The latest Corelis JTAG controllers include capabilities that allow direct communication with SPI buses and have the primary purpose of speeding Flash programming. You can also search online to find the best spi flash memory online.

NOYITO W25Q64 64Mbit 8MByte Flash Memory Module DataFlash SPI Interface : Electronics

Image Source: Google

Let's examine the ways SPI Flash devices may be programmed with Corelis tools.

Boundary-scan-based Programming-

Boundary-scan programming is a favorite feature of Flash devices due to its ease of use. The JTAG controller connects to the boundary-scan device which has a Flash interface, in this case, an SPI bus. The boundary-scan device, which is under the supervision of the JTAG controller, is then able to control the SPI lines with boundary-scan IO pins in order to make SPI transactions. Although it is convenient, this technique is slow.

Benefits-

There is no direct access directly to the SPI Flash required. A majority of designs do not include a connector or test point connection directly to access the SPI bus, rendering this approach impossible.

Negatives

slow speeds. The SPI signals will not be the only signal in the boundary scan device chain. A high-pin count device could have more than one thousand cells! The process of sifting through a chain to regulate four pins can significantly decrease the effectiveness of the SPI clock speed.

Direct Programming

Direct programming is an interface directly to the controller in hardware and the SPI bus in order to program SPI Flash without the overhead of boundary-scan. Modern JTAG controllers from Corelis, like Single-TAP USB-1149.1/1E as well as the 4TAP NetUSB-1149.1/E (blue led version), come with this feature.