Skip to main content
  • Products
  • Software evaluation
  • Downloads
  • Free utilities
  • Purchase
  • Silicon Vendors
  • Support
  • About us
  • Blog
  • Forum
  • Search
  • Jobs
  • Newsletter
  • Blog
  • Contact
  • Shop
  • J-Link debug probes
  • Flash Breakpoints

    Unlimited Flash Breakpoints

    The J-Link software comes with an additional feature, called Unlimited Flash Breakpoints. Unlimited Flash Breakpoints allow the user to set an unlimited number of breakpoints when debugging in flash memory.

    Buy now
    Downloads
    Documentation
    SEGGER Unlimited Flash Breakpoints
    1. 1.Overview
    2. 2.How Breakpoints work
    3. 3.Software
    4. 4.System requirements
    5. 5.FAQ

    Overview

    FlashBreakpoints

    The J-Link software includes the feature Unlimited Flash Breakpoints, which allows an unlimited number of breakpoints when debugging code located in flash memory. Without Unlimited Flash Breakpoints, the number of available breakpoints is limited to the hardware breakpoints supported by the CPU’s debug unit (2 on ARM7/9, 4–6 on Cortex-M).

    Unlimited Flash Breakpoints work in both internal and external flash, including memory-mapped QSPI flash. J-Link prioritizes the use of hardware breakpoints and automatically switches to flash breakpoints once the available hardware breakpoints are exhausted.1

    Unlimited Flash Breakpoints also work in scenarios where hardware breakpoints cannot be used at all, such as external memory or memory-mapped QSPI flash that lies outside the address range supported by hardware breakpoints. On most Cortex-M3 and Cortex-M4 devices, hardware breakpoints cannot be set in external memory, while Unlimited Flash Breakpoints can.

    1J-Link PLUS, J-Link Ultra or J-Link Pro required


    How Breakpoints work

    There are basically two types of breakpoints in a computer system: Hardware breakpoints and software breakpoints. Hardware breakpoints require a dedicated hardware unit for every breakpoint. In other words, the hardware dictates how many hardware breakpoints can be set simultaneously. ARM7, ARM9, and some devices implemented with the Cortex-M0+ cores have two breakpoint units (called "watchpoint units" in ARM's documentation), allowing two hardware breakpoints to be set. Hardware breakpoints do not require modification of the program code. Software breakpoints are different: The debugger modifies the program and replaces the breakpointed instruction with a special value. Additional software breakpoints do not require additional hardware units in the processor, since instructions are replaced inside the code to indicate the breakpoint. This is a standard procedure that most debuggers are capable of, however, it requires the program to be located in RAM.

    Additional Information:

    Supported devices

    Flash Breakpoints in ARM's "I.Q." magazine


    Software

    For all J-Trace and J-Link models higher than J-Link BASE, the Unlimited Flash Breakpoints feature is included in the J-Link Software and Documentation Package, which can be downloaded here:

    DownloadJ-Link Software and Documentation Pack

    J-Link BASE requires an upgrade BASE to PLUS, which is available in our  web shop.


    System requirements

    Supported OS
    WindowsMicrosoft Windows (x86/x64)
    macOSmacOS (x86/Apple Silicon)
    LinuxLinux (x86/x64/Arm)

    FAQ

    Can I use Unlimited Flash Breakpoints in CFI NOR flash?

    Yes. On some CPUs, using Unlimited Flash Breakpoints is the only way to set breakpoints in external flash memory. For example, in Cortex-M systems, the typically available six hardware breakpoints of the Flash Patch and Breakpoint (FPB) unit cannot be used to set breakpoints in external memory on most Cortex-M systems, as the address range of the unit is limited.

    This means that if you are using a Cortex-M3 or Cortex-M4 with external flash, a program located in that external flash cannot be debugged with most common emulators. An exception is J-Link with the Unlimited Flash Breakpoints license.

    In other words, when debugging a program located in external flash on a Cortex-M device, a J-Link with the Unlimited Flash Breakpoints license, such as J-Link Ultra, is almost essential.

    What is special about software breakpoints in flash?

    Unlimited Flash Breakpoints allows you to set an unlimited number of breakpoints even if your application program is not located in RAM but in flash memory. This scenario was very rare before ARM microcontrollers entered the market.

    This technology made powerful yet inexpensive ARM microcontrollers available for systems that previously required external RAM. The downside is that it is not possible to debug larger programs by loading them entirely into RAM, as the RAM is typically not large enough to hold both program and data. These chips usually contain about four times as much flash as RAM.

    As a result, with standard debuggers, only two breakpoints can be set. This limitation makes debugging difficult, as debuggers often require two breakpoints simply to step over a single line of code. With Unlimited Flash Breakpoints, this limitation no longer applies.

    How does this work?

    The concept is very simple.
    The J-Link software reprograms a flash sector to set or clear a breakpoint.

    What performance can I expect?

    A RAM-resident code module, specifically designed for this purpose, sets and clears flash breakpoints extremely fast. On microcontrollers with fast flash, the difference between breakpoints in RAM and in flash is hardly noticeable when using Unlimited Flash Breakpoints.

    How is this performance achieved?

    Considerable effort has gone into making Unlimited Flash Breakpoints both usable and convenient. Flash sectors are programmed only when necessary, typically when execution of the target program is started.

    In many cases, multiple breakpoints are located within the same flash sector, allowing several breakpoints to be programmed by modifying only a single sector. The contents of program memory are cached, avoiding time-consuming reads of flash sectors.

    A smart combination of software and hardware breakpoints allows hardware breakpoints to be used frequently, especially during source-level stepping, which avoids unnecessary flash reprogramming. A built-in instruction set simulator further reduces the number of required flash operations.

    This minimizes delays for the user while maximizing the lifetime of the flash. All resources of the ARM microcontroller remain available to the application, and no memory is reserved for debugging. All of the optimizations described above can be disabled if required.

    Can I use Unlimited Flash Breakpoints with different software components?

    Unlimited Flash Breakpoints can be used with the following J-Link software components:

    • J-Link DLL (For example if you use the J-Link DLL natively in IAR Embedded Workbench for ARM or RealView® MDK)
    • J-Link ARM RDI / RDDI
    • J-Link GDB Server

    For more information about how to use Flash Breakpoints with these software components, please refer to the corresponding manuals.

    What about licensing?

    Unlimited Flash Breakpoints is licensed on a per-J-Link basis and requires a J-Link with Unlimited Flash Breakpoints support. Unlimited Flash Breakpoints can also be used with J-Link ARM RDI/RDDI and the J-Link GDB Server.

    If you want to use Unlimited Flash Breakpoints with J-Link ARM RDI/RDDI, an additional license for this software component is required.

    To receive a free 30-day trial license, please send an email including your J-Link serial number to sales@segger.com.


    Media

    SEGGER embOS-MPU introduction videoPreview Thumbnail

    SEGGER J-Link Flash Breakpoint Introduction

    • Release notes
    • Update notification
    • Pricing
    • Support
    • Silicon vendor resources
    • J-Link Prime

    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
    • Code of Conduct
    • Privacy Policy
    © 2026 SEGGER - All rights reserved.