SEGGER’s Flasher PRO is an in-system programming (ISP) tool used to program non-volatile memory, soldered onto a PCB. ISP is also known as ICP or in-circuit programming.
The memories that can be programmed range from the internal flash memory of microcontrollers and SoCs to external parallel flash memory (CFI Flashes) as well as (Q)SPI flashes. (Q)SPI flashes can also be programmed by connecting directly to the pins.
It is fast, robust, reliable, and engineered to handle almost all flash programming requirements in the industry. The Flasher PRO can be used in stand-alone or PC-based mode. It connects via USB, Ethernet or an RS232 interface.
Powered via USB, the Flasher PRO has 128 MB of internal memory to store firmware images and programming configurations. The 20-pin target connector adapts to multiple standard and proprietary connectors through a wide variety of adapters from SEGGER. The Flasher PRO supports a large number of CPU cores and an even greater number of different devices from various vendors.
As a multi-platform solution, Flasher PRO comes with the setup and control software for Linux, macOS and Windows.
- High speed
- Large number of devices supported
- Flexible programming interface: Almost anything can be programmed.
- Multiple status and control options
- 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.
The Flasher PRO as a member of the SEGGER Flasher family supports a wide range of CPU cores and an even wider range of different devices in host-based mode. The list of supported manufacturers, families, and devices and SoCs includes support for tens of thousands of devices in hundreds of device families with billions of devices programmed.
Flasher PRO has a very flexible target and programming interface.
Based on an FPGA with an integrated CPU core, it has multiple dedicated soft cores controlling the target interface, and a virtual processor running the flash loader.
This concept makes it possible to adapt to almost any system for ISP programming purposes. Dedicated flash loaders, which can be easily downloaded to the programmer, make it possible to program almost any device. This flexibility allows using the debug or dedicated programming interfaces of microcontrollers to program the on-chip memories as well as the programming of the off-chip parallel or (Q)SPI flashes. (Q)SPI can also be programmed directly.
All software is included free of charge. It comes with the flash loaders for all supported devices.
For every Flasher, the Flasher Software and Documentation Package is available:
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 cost, even for newly supported devices.
- No hidden costs.
- No future costs.
As a multi-platform solution, Flasher PRO comes with the setup and control software for Linux, macOS and Windows. Software and firmware updates are included. Similarly, use on all currently supported target devices, and any that will be added, is also included.
Flasher programmers are designed to achieve top programming speeds, coming very close to the theoretical minimum programming time of the target hardware. In many cases, more than 95 % of the maximum speed can be achieved, often resulting in a programming speed of more than 1 MB / s.
For microcontrollers which are programmed via debug interface and which allow memory access while the CPU is running, Flasher is able to minimize overhead by simultaneously downloading and programming. This "turbo mode" makes it possible to reach speeds not achievable by other programmers.
Many modern devices require some pieces of unique information. Flasher PRO allows the programming of data that differs amongst other otherwise identical units. Typical examples are things like serial numbers, ethernet hardware addresses (MAC), and digital signatures, and license keys that enable/disable product features. All these options can be adapted from device to device by applying patch data to the original firmware.
The Flasher PRO offers options to check status information remotely and to configure the device.
The Flasher PRO comes with SEGGER's built-in web server. It is designed to present important device and current operation data for a quick overview and, additionally, to check the status of the programmer, providing information about:
- Installed firmware version
- Hardware version
- Power consumption
- IP configuration
- Network load
- Current operation and status
- Programming interface in use
This may be important for fast troubleshooting through code verification, for instance, as it is when executing a cyclic redundancy check (CRC) that helps to detect errors during data transmission or storage.
The Flasher PRO also includes the emFTP server to upload firmware and configuration or download log files.
Using the emFTP server enables easy upload of configuration files and firmware images. By connecting to the emFTP server using an FTP client of choice, files can be transferred between client and Flasher.
Having access to the Flasher configuration via FTP enables configuration of multiple Flashers from a central production control server. This interface can be also used to make the production line part of a CI/CD system to push stable releases into the current production.
Analyzing the reliability of the production line is an important task, when it comes to increasing the production frequency. This purpose is supported by the built-in FTP server, which lets users check the history of past programming cycles via log file download. Each entry provides the following information:
- Result (success/failure)
- Serial number (if programmed)
For failed programming cycles, the log file provides additional information for quick troubleshooting (e.g. failed to open Flasher config file).
The SEGGER Flasher PRO is built to maximize programming speed for single or multiple programming lines within production environments. Using (Q)SPI, Flasher PRO minimizes programming times thus maximizing the number of devices that can be programmed in a given amount of time. In terms of speed, the Flasher PRO comes close to the theoretical minimum programming time for the target hardware.
- Maximum speed
- Reliable programming
The following customer story demonstrates the notable effect this can have on production time:
SEGGER’s Flasher PRO increases production reliability for VIESSMANN
In production environments, different hardware platforms often have to be programmed with different firmware images. With the universal Flasher PRO, these different platforms can be programmed with one device. With multiple file support it is also possible to have multiple data files and config files on the Flasher PRO. It is even possible to program multiple targets which are located in a JTAG chain. The targets will be programmed each with an individual configuration and a data file.
The Flasher PRO XL is the extra-large memory version of SEGGER’s Flasher PRO. With all the same features of the Flasher PRO, the XL expands upon the original’s 128 MB memory with 2 gigabytes—16 times as much as the internal flash memory. This memory can be used to store large a variety of large program images.
|USB powered, 500 mA if target is powered by Flasher PRO
|USB host interface
|USB 2.0 (High-Speed), USB Type B
|RS232 host interface
|JTAG 20-pin (14-pin adapter available)
|Max. target cable length
|Recommended (delivered): 20 cm (8")
Max. 2 m (6.5") allowed but might reduce max. target interface speed.
|Serial transfer rate between Flasher PRO and target
|Max. target interface (JTAG, ...) speed: 50 MHz
|Supported target voltage
|1.2 - 5 V
|Current drawn from target voltage sense pin (VTRef)
|< 25 µA
|Target supply voltage
|Target supply current
|Max. 400 mA
|+ 5 °C ... + 60 °C
|- 20 °C ... + 65 °C
|Relative humidity (non-condensing)
|< 90 % rH
|Size (without cables)
|121 mm x 66 mm x 30 mm
|Weight (without cables)
|Microsoft Windows (x86/x64), Linux (x86/x64/Arm), macOS (x86/Apple Silicon)
Q: What is the maximum voltage that can be handled by the galvanic isolation of the Ethernet?
A: The Ethernet data lines are isolated as required per IEEE 802.3 (test voltage 1500 Vrms for one minute). Note that this is NOT valid for the Ethernet shield that has a direct electrical contact to the USB shield and a resistive and capacitive coupling to probe GND. For an effective isolation, you need to use an unshielded twisted pair Ethernet cable.