Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Knowledge Base
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • Program embedded systems
  • J-Flash SPI
  • Technology
  • Accessories
  • Tools
  • Models

J-Flash SPI
Direct programming of (Q)SPI flashes

High-speed SPI flash memory programming for Flashers and J-Links.

Contact us
Downloads
Documentation
Production Tools Icon
  1. 1.Overview
    1. 1.1.Key features
  2. 2.Software
    1. 2.1.Updates
  3. 3.Command Line version
  4. 4.Supported devices
  5. 5.20-pin SPI connection
  6. 6.20-pin QSPI connection
  7. 7.10-pin needle adapter connection
  8. 8.Evaluation hardware
  9. 9.Flash programming speed
  10. 10.FAQ — Frequently asked questions

Overview

J-Flash SPI is a software for Flashers and J-Links to directly program (Q)SPI flashes. It is also used to setup the Flasher for stand-alone programming of those devices. The flash is programmed directly via J-Link or Flasher using the SPI protocol, with no CPU / MCU in between. Since J-Link or Flasher communicates directly with the flash, even flashes connected to CPUs not supported by J-Link or Flasher can be programmed.

Direct QSPI SPI Programming
Direct (Q)SPI programming

Key features

  • Multi-platform GUI
  • Auto-detection of popular SPI flashes
  • Any SPI flash can be supported. All flash parameters can be manually configured / overridden, if required.
  • Can be controlled via command-line.
  • Multi-platform: Includes setup and control software for Linux, macOS, and Windows.
  • No license required. No hidden costs. No future costs.
  • Future Proof: Software, firmware updates, and new flash loaders are free of charge

Software

J-Flash SPI is available as part of the Flasher Software and Documentation Package:

DownloadFlasher Software and Documentation Pack

Updates

Future software and firmware updates as well as any new flash loaders for target devices that will be added are also free of charge.

  • No licensing costs, even for newly supported devices.
  • No hidden costs.
  • No future costs.
J-Flash SPI Software
J-Flash SPI software

Command Line version

A command line version of J-Flash SPI is also part of the Flasher Software and Documentation Package. The J-Flash SPI software supports all common programming languages. By entering commands into the command line, batch programming for automated execution of routine tasks such as starting or stopping processes, configurations, etc. becomes fast and easy.

Please note that the GUI version of J-Flash SPI can also be controlled from the command line.

J-Flash SPI Command Line Version
J-Flash SPI Command Line version

Supported devices

J-Flash SPI is able to auto-detect common SPI flashes automatically via their respective ID. Since all flash parameters (size, commands etc.) can also be manually configured by the user, any SPI flash device can be supported.

The list of flash devices that are supported by the flash auto-detection of J-Flash SPI can be found here:

  • List of supported SPI flash devices

20-pin SPI connection

The following table lists the pinout for the SPI interface:

PinSignalTypeDescription
1VTrefInputThis is the target reference voltage. It is used to check if the target has power, to create the logic-level reference for the input comparators and to control the output logic levels to the target. It is normally fed from Vdd of the target board and must not have a series resistor.
2Not connectedNCLeave open on target side.
3Not connectedNCLeave open on target side.
5DIOutputData-input of target SPI. Output of Flasher, used to transmit data to the target SPI.
7nCSOutputChip-select of target SPI (active LOW).
9CLKOutputSPI clock signal.
11Not connectedNCLeave open on target side.
13DOInputData-out of target SPI. Input of Flasher, used to receive data from the target SPI.
15nRESETOutputTarget CPU reset signal (active LOW). Typically connected to the reset pin of the target CPU, which is typically called "nRST", "nRESET" or "RESET".
17Not connectedNCLeave open on target side.
195V-SupplyOutputThis pin can be used to supply power to the target hardware. Older Flashers may not be able to supply power on this pin.

Pins 4, 6, 8, 10, 12 are GND pins connected to GND in Flashers. They should also be connected to GND in the target system.

Please note:
On later Flasher products these pins are reserved for firmware extension purposes. They can be left open or connected to GND.

20-Pin SPI Pinout
20-pin SPI pinout

20-pin QSPI connection

The following table lists the pinout for the Quad SPI (QSPI) interface:

PinSignalTypeDescription
1VTrefInputThis is the target reference voltage. It is used to check if the target has power, to create the logic-level reference for the input comparators and to control the output logic levels to the target. It is normally fed from Vdd of the target board and must not have a series resistor.
2Not connectedNCLeave open on target side.
3IO1I/OBi-directional data I/O pin 1
5IO0/DII/OSingle: Data-input of target SPI. Output of programmer, used to transmit data to the target SPI.
Quad: Bi-directional data I/O pin 0
7nCSOutputChip-select of target SPI (active LOW).
9CLKOutputSPI clock signal.
11IO2I/OBi-directional data I/O pin 2
13DOInputSingle: Data-out of target SPI. Input of programmer, used to receive data from the target SPI.
Quad: Must be connected to same signal as pin 3 IO1/DO to guarantee correct operation for temporary single mode transfers during QSPI mode.
15nRESETOutputTarget CPU reset signal (active LOW). Typically connected to the reset pin of the target CPU, which is typically called "nRST", "nRESET" or "RESET".
17IO3I/OBi-directional data I/O pin 3
195V-SupplyOutputThis pin can be used to supply power to the target hardware. Older Flashers may not be able to supply power on this pin.

Pins 4, 6, 8, 10, 12 are GND pins connected to GND in Flashers. They should also be connected to GND in the target system.

Please note:
On later Flasher products these pins are reserved for firmware extension purposes. They can be left open or connected to GND.

20-Pin QSPI Pinout
20-pin QSPI pinout

10-pin needle adapter connection

The following table lists the pinout for the SPI interface when using the 10-Pin Needle Adapter:

PinSignalTypeDescription
1VTrefInputThis is the target reference voltage. It is used to check if the target has power, to create the logic-level reference for the input comparators and to control the output logic levels to the target. It is normally fed from Vdd of the target board and must not have a series resistor.
2nCSOutputChip-select of target SPI (active LOW).
4CLKOutputSPI clock signal.
55V-SupplyOutputThis pin can be used to supply power to the target hardware. Older Flashers may not be able to supply power on this pin.
6DOInputData-out of target SPI. Input of Flasher, used to receive data from the target SPI.
7Not connectedNCLeave open on target side.
8DIOutputData-input of target SPI. Output of Flasher, used to transmit data to the target SPI.
9Not connectedNCLeave open on target side.
10nRESETOutputTarget CPU reset signal. Typically connected to the RESET pin of the target CPU, which is typically called "nRST", "nRESET" or "RESET".

Pin 3 is GND pin connected to GND in Flashers. It should also be connected to GND in the target system.

Please note regarding nRESET:
If there is another device / peripheral that also controls the SPI flash (e.g. a CPU the flash is connected to), nRESET of the Flasher should be connected to the reset of the target system or the reset pin of the CPU to make sure that the Flasher can keep the CPU in reset while programming the SPI flash.

10-Pin SPI Pinout
10-pin SPI pinout

Evaluation hardware

Selecting the right (Q)SPI flash that fits the needs can be a difficult task. There are plenty of different flashes as well as vendors available and creating a hardware for each candidate is time-consuming and costly.

To make evaluation of different (Q)SPI flashes a lot easier, we have created a (QSPI) evaluation board.

More about the (Q)SPI Flash Evaluator...

(Q)SPI Flash Memory Evaluator
(Q)SPI Flash Memory Evaluator

Flash programming speed

Due to the high performance and the efficient protocol of Flasher, programming speeds up to the max. flash programming specified by the flash vendor, can be achieved.

Flash deviceProgramming speed[1]
ISSI IS25LP128500 KB/s
ISSI IS25LD040100 KB/s
ISSI IS25LQ080340 KB/s
ISSI IS25CD010100 KB/s
ISSI IS25CQ032190 KB/s
Macronix MX25L3235E285 KB/s
Macronix MX66L1G45G430 KB/s
Macronix MX66L51235F315 KB/s
Micron N25Q128A270 KB/s
Micron M25P10160 KB/s
Micron M25PX16230 KB/s
Micron M45PE10230 KB/s
Micron M25PE4215 KB/s
Spansion S25FL128410 KB/s
Spansion S25FL116K265 KB/s
Winbond W25Q128FV340 KB/s

[1] Max. flash programming speed that can be achieved depends on flash device. Flash programming is done in pages and page size as well as page programming time varies from device to device. For more information about the page programming time for a specific flash device, please refer to the appropriate datasheet.

FAQ — Frequently asked questions

Q:  I have an older Flasher version. Does it support SPI programming?

A:  Please check the SEGGER wiki for more information on which Flasher hardware versions the "SPI interface" is supported: kb.segger.com/Software_and_Hardware_Features_Overview.

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy
© 2025 SEGGER - All rights reserved.