Overview
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.
Key features
- Supports most Cortex A-R-M, RX and Power PC devices/cores
- Supports the following internal and external flash devices:
- Internal flash of most popular microcontrollers
- CFI-compliant NOR flash (the combinations 1x8, 2x8, 1x16, 2x16 are supported)
- Most non-CFI compliant NOR flash devices (the combinations 1x8, 2x8, 1x16, 2x16 are supported)
- SPI NOR-flash
- NAND flash
Licensing
System requirements
Supported OS | |
---|---|
Windows | Microsoft Windows (x86/x64) |
macOS | macOS (x86/Apple Silicon) |
Linux | Linux (x86/x64/Arm) |
Performance Values
Information on the performance values can be found in the tables below. Device series, program and program verification are indicated in the tables. They provide an illustration of example values with frequently used devices. This demonstrates the write performance for flash memory of J-Flash and J-Link.
Programming Speeds on Internal Flash
Device Series | Program | Program and Verify |
---|---|---|
Cypress CYT2B98CAC_M0 | 988 KB / s | 938 KB / s |
NXP LPC1857 | 431 KB / s | 431 KB / s |
Renesas R7FA6M3AH | 398 KB / s | 388 KB / s |
Renesas R7FS5D97E | 396 KB / s | 395 KB / s |
ST STM32H735IGK | 364 KB / s | 358 KB / s |
Programming Speeds on QSPI NOR Flash
Device Series | QSPI Flash | Program | Program and Verify |
---|---|---|---|
NXP MIMXRT595 | Macronix MX25UW51345G | 1086 KB / s | 1086 KB / s |
NXP MIMXRT685S | Macronix MX25UM51345G | 988 KB / s | 988 KB / s |
NXP MIMXRT1052 | ISSI IS25WP064A | 865 KB / s | 486 KB / s |
NXP MIMXRT1064 internal QSPI | Winbond W25Q32JV | 390 KB / s | 386 KB / s |
NXP MK80FN256V15 | Macronix MX25U3235F | 362 KB / s | 323 KB / s |
Renesas R7FA6M3AH | Macronix MX25L25645G | 954 KB / s | 797 KB / s |
Renesas R7FS5D97E | Winbond W25Q64FV | 439 KB / s | 442 KB / s |
ST STM32H757XI QSPI | MT25QL512ABB8ESF | 1080 KB / s | 959 KB / s |
ST STM32L4R9AI QSPI | Macronix MX25LM51245G | 964 KB / s | 763 KB / s |
ST STM32L562QE QSPI | Macronix MX25LM51245G | 1043 KB / s | 894 KB / s |
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.