Homemade Spi Flash Programmer Software Download For Mac

Posted on by

The Opal Kelly XEM6001 is an integration module based on a Xilinx Spartan-6 FPGA (XC6SLX16-2FTG256C). In addition to a high gate-count FPGA, the XEM6001 utilizes the high transfer rate of USB 2.0 for configuration downloads, enabling an almost instant reprogramming of the FPGA. The XEM6001 features flexible clocking with a multi-output clock generator that can generate clock frequencies. Explore the best Editors software for Mac. Browse our catalog of over 50 000 mac apps. MacUpdate is serving app downloads since 1997. The Xula is an inexpensive board that has a Xilinx Spartan 3A FPGA of 200K logic blocks, a 64mb application RAM, an SPI-Flash, a USB port for programming and debbuging and a jtag communication header as an optional programming and debugging port. Several basic blocks have been developed as well as examples that incorporate them in basic projects. If you have a SPI flasher and want to remove an Apple EFI firmware password, what you need to do is to dump the flash contents, remove the CBF2CC32 variable (you just need to flip a single bit on its name for example), and reflash the modified firmware. Or just locate the variable and erase or modify it directly without reflashing the whole. ESP32 Flash Download Tool Interface Select a particular tab to find related options. Select HSPI tab for HSPI flash download. In general, you should use SPI download mode. – Engage the mini programmer’s arm by positioning it down. – connect the SOIC8 clip to the Bios (8-pin SPI memory chip); it is near a JSPI1 connection (see image below). The program recognizes that the programmer is connected. Example with my motherboard: Guide – Part 3: Use the SPI CH341A mini programmer to read the SPI chip.

J-Flash SPI is a PC software running on Microsoft Windows (backward compatible down to Windows 2000) systems, Linux or macOS, which allows direct programming of SPI flashes via J-Link or Flasher. The flash is programmed directly via J-Link using the SPI protocol, no CPU / MCU in between.

  • Direct programming of SPI flash via J-Link (no CPU / MCU in between)
  • Since J-Link communicates directly with the flash, even flashes connected to CPUs not supported by J-Link can be programmed
  • Cross-platform (GUI and command line version available for Windows, Linux and macOS)
  • 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
  • Part of the J-Link software and documentation package
  1. 1.J-Flash SPI - programming tool for SPI flash memories that simply works!
  2. 2.Licensing
  3. 3.20-pin connection
  4. 4.20-pin QSPI connection
  5. 5.J-Link 10-Pin Needle Adapter Connection
  6. 6.Which SPI flash devices are supported?
    1. 6.1.Atmel / Adesto DataFlash
  7. 7.Evaluation hardware
  8. 8.Command line version
  9. 9.Flash Programming Speed
  10. 10.FAQ

J-Flash SPI - programming tool for SPI flash memories that simply works!

J-Flash SPI is a PC software running on Microsoft Windows (backward compatible down to Windows 2000) systems, Linux or macOS, which allows direct programming of SPI flashes via J-Link or Flasher. The flash is programmed directly via J-Link using the SPI protocol, no CPU / MCU in between.

Most common SPI flashes are automatically recognized by their respective ID and can easily be programmed with no further setup / configuration of J-Flash SPI needed to be done by the user.

In order to use J-Flash SPI, either a higher-end J-Link model (J-Link PLUS or higher, click here for the debug probe model overview) or a Flasher Production Programmer (click here for the flash programmer model overview) is needed.

20-pin connection

The following table lists the pinout for the SPI interface on J-Link / Flasher.

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 J-Link, 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 J-Link, 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 J-Links may not be able to supply power on this pin.

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

*On later J-Link products like the J-Link ULTRA, these pins are reserved for firmware extension purposes. They can be left open or connected to GND.

Pinout SPI 20-pin

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:>7nCSOutputChip-select of target SPI (active LOW).
9CLKOutputSPI clock signal.
11IO2I/OBi-directional data I/O pin 2
13DOInputSingle:>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 J-Links may not be able to supply power on this pin.

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

*On later J-Link products like the J-Link ULTRA, these pins are reserved for firmware extension purposes. They can be left open or connected to GND.

Pinout QSPI 20-pin

J-Link 10-Pin Needle Adapter Connection

The following table lists the pinout for the SPI interface on J-Link / Flasher when using the J-Link 10-pin Needle Adapter (model 8.06.04).

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.
2nCSOutput Chip-select of target SPI (active LOW).
4CLKOutput SPI clock signal.
55V-SupplyOutput This pin can be used to supply power to the target hardware. Older J-Links may not be able to supply power on this pin.
6 DOInputData-out of target SPI. Input of J-Link, used to receive data from the target SPI.
7Not connectedNCLeave open on target side.
8DIOutput Data-input of target SPI. Output of J-Link, used to transmit data to the target SPI.
9Not connectedNCLeave open on target side.
10nRESETOutput Target 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 J-Link. It should also be connected to GND in the target system.

Notes 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 J-Link should be connected to the reset of the target system or the reset pin of the CPU to make sure that J-Link can keep the CPU in reset while programming the SPI flash.

J-Flash SPI connection

J-Flash SPI is able to auto-detect common SPI flashes automatically, via their respective ID. Anyhow, 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:

Atmel / Adesto DataFlash

Atmel DataFlash is not supported by J-Flash SPI as its instruction set and handling in general is significantly different from any other SPI flash. Moreover, its page/sector size is not a power of 2, making it incompatible to existing concepts.

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. Madeas family reunion the play online free.

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

Command line version

A command line version of J-Flash SPI is available for Windows, Linux and macOS, too. The command line version is also part of the J-Link software and documentation package. Please note that the GUI version of J-Flash SPI can also be controlled from the command line.

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

Flash deviceProgramming speed1
ISSI IS25LP128500 KB/s
ISSI IS25LD040100 KB/s
ISSI IS25LQ080340 KB/s
ISSI IS25CD010100 KB/s
ISSI IS25CQ032 190 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 M25PE4 215 KB/s
Spansion S25FL128410 KB/s
Spansion S25FL116K265 KB/s
Winbond W25Q128FV 340 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

A: Please check the SEGGER wiki for more information which J-Link hardware versions support the 'SPI interface': wiki.segger.com/Software_and_Hardware_Features_Overview

More Information

Purchase

Technology

Accessories

Tools

Homemade Spi Flash Programmer Software Download For Mac Windows 7

Models