Skip to main content
  • 产品
  • Software evaluation
  • 下载
  • Free utilities
  • 购买
  • 芯片厂商
  • 支持
  • 关于我们
  • Search
  • 工作机会
  • 新闻简报
  • 联系我们
  • 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

    全球总部

    德国: SEGGER Microcontroller GmbH

    地址: Ecolab-Allee 5
    40789 Monheim am Rhein, Germany
    电邮: info@segger.com
    电话: +49-2173-99312-0
    传真: +49-2173-99312-28

    网点分布

    中国:哲戈微系统科技(上海)有限公司

    地址: 中国上海市闵行区秀涟路133号
    大虹桥国际A 栋218室
    邮编201199
    电邮: china@segger.com
    电话: +86-133-619-907-60


    简易信息聚合

    通过ISO 9001认证

    ISO 9001

    30多年的嵌入式行业经验

    First-class embedded software tools since 1992
    • 版本说明
    • 免责声明
    • 行为准则
    • 隐私策略
    • 沪ICP备2022005181号
    • 沪公网安备 31011202014525号
    © 2026 SEGGER - 版权所有.

    您即将离开 segger.cn 而访问境外网站,是否继续?