Skip navigation

J-Flash

  • Works with RX600, ARM7/9/11, Cortex-A5/A8/A9 and Cortex-M0/M0+/M1/M3/M4/M7 cores
  • Supports the following internal and external flash devices:
  • internal flash of most popular microcontrollers
  • CFI-compliant NOR flash (the combinations 18x, 2x8, 1x16, 2x16 are supported)
  • most non-CFI compliant NOR flash devices (the combinations 18x, 2x8, 1x16, 2x16 are supported)
  • SPI NOR-flash
  • NAND flash

J-Flash is a PC software running on Windows (Windows 2000 and later) systems, which enables you to program the internal and external flash of your microcontroller via J-Link or Flasher.

J-Flash comes with sample projects for most popular microcontrollers and evaluation boards which run out-of-the-box. J-Flash can be controlled via GUI or via command line which makes it also possible to use J-Flash for production purposes. Download J-Flash as part of the J-Link Software & Documentation Package:

Download   J-Link Software and Documentation Pack for Windows

Download   J-Link Software and Documentation Pack for macOS

Download   J-Link Software and Documentation Pack, Linux DEB installer, 64bit

Download   J-Link Software and Documentation Pack, Linux RPM installer, 64bit

Download   J-Link Software and Documentation Pack, Linux TGZ installer, 64bit

Download   J-Link Software and Documentation Pack, Linux DEB installer, 32bit

Download   J-Link Software and Documentation Pack, Linux RPM installer, 32bit

Download   J-Link Software and Documentation Pack, Linux TGZ installer, 32bit

Download   J-Link Software and Documentation Pack

Programming Speeds

The following table shows some performance values regarding the programming speed.

MicrocontrollerHardwareFlash deviceFlash organizationProgramming speed
(KBytes/sec.)
Atmel AT49BV162A Eval boardAtmel AT91EB40 Atmel AT49BV162A internal flash1x16 bits 97.8
Atmel AT91RM9200Cogent CSB337 Eval boardIntel 28F640J31x16 bits93.0
Digi NS9360Net Silicon NS9360 Eval boardAMD AM29LV160DB2x16 bits208.5
Sharp LH7A400-10LogicPD LH7A400-10 Eval boardIntel 28F640J3A1202x16 bits147.8
Analog Devices ADuC7020Analog Devices ADuC7020 Eval boardAnalog Devices ADuC7020 internal flash1x32 bits30.8
Atmel AT91SAM7S64 Atmel AT91SAM7-EKS64 Eval boardAtmel AT91SAM7S64 internal flash1x32 bits18.5
Atmel AT91SAM7X256Atmel AT91SAM7X-EK Eval boardAtmel AT91SAM7X256 internal flash1x32 bits 35.3
Philips LPC2106IAR LPC2106 Eval boardPhilips LPC2106 internal flash1x32 bits 22.2
ST STR711IAR STR711 Eval boardST STR711 internal flash1x32 bits50.5
Philips PCF87750Philips PCF87750 (custom hardware)Philips PCF87750 internal flash1x32 bits 68.2

What is Multi-Bank Programming support?

Multi-bank programming support describes the possibility to program different flash devices, present on the same hardware, in one Flash programming session. For example, if you want to use the internal flash of your target hardware as well as the external flash for the target application code, multi-bank programming enables you to download the target application into the internal and external flash in one flash programming session. The settings for both flash banks are saved in the same J-Flash project, so you will only need one project in order to program multiple flash banks.

Memory mapped QSPI flash support

Most modern MCUs have a dedicated QSPI unit on-chip that makes the QSPI flash memory mapped available in the MCU address space so that it can access the QSPI flash like parallel flash and directly execute instructions from it (execute-in-place, XiP). For most of such MCUs, QSPI flash programming is supported out-of-the-box. If it is supported for a specific MCU, please refer to the list of supported devices.

SPI flash support

As SPI flash memories are not memory-mapped and can be connected to basically any SPI unit a MCU provides, there are no out-of-the-box algorithms available for that. However, customers can always add a flash bank and algorithm on their own for supporting such flashes by making use of the open flash loader functionality. For more information, please refer to the SEGGER Wiki.

eMMC support

There are no out-of-the-box algorithms available for that. However, customers can always add a flash bank and algorithm on their own for supporting such flashes by making use of the open flash loader functionality. For more information, please refer to the SEGGER Wiki.

DataFlash support

As DataFlash memories are not memory-mapped and can be connected to basically any SPI unit a MCU provides, there are no out-of-the-box algorithms available for that. However, customers can always add a flash bank and algorithm on their own for supporting such flashes by making use of the open flash loader functionality. For more information, please refer to the SEGGER Wiki.

NAND flash support

As NAND flash memories are not memory-mapped and can be connected in different ways to the MCU (dedicated NAND flash controller, just GPIOs, ...), there are no out-of-the-box algorithms available for that. However, customers can always add a flash bank and algorithm on their own for supporting such flashes by making use of the open flash loader functionality. For more information, please refer to the SEGGER Wiki.