Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Silicon Vendors
  • Support
  • About Us
  • Blog
  • Forum
  • Search
  • Jobs
  • Newsletter
  • Blog
  • Contact
  • Shop
  • J-Link debug probes
  • J-Link RDI

    J-Link RDI

    J-Link-RDI software is an RDI interface for J-Link. It makes it possible to use J-Link with any RDI compliant debugger. The package consists of 2 DLLs, which need to be copied to the same folder. In order to use these DLLs, they need to be selected in the debugger.

    Buy now
    Downloads
    Documentation
    SEGGER Debug & Trace Probes
    1. 1.Software
      1. 1.1.System requirements
    2. 2.Supported Arm debuggers
    3. 3.Unlimited Flash Breakpoints
    4. 4.RDI configuration
      1. 4.1.Commands in the setup file
      2. 4.2.Example of a setup file
    5. 5.Latest news

    Overview

    J-Link RDI is a real-time debug interface that allows any RDI-compliant debugging tools and integrated development environments (IDEs) to communicate with J-Link or J-Trace devices. It provides an abstraction layer that allows developers to use standard debugging commands and protocols.

    With J-Link RDI, developers can also access advanced debugging features such as flash programming, real-time code execution control, and access to on-chip debugging resources. This enables efficient debugging and testing of embedded software during development, helping to identify and resolve issues quickly.

    Software

    For all J-Trace and J-Link models higher than J-Link BASE, J-Link RDI 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)

    Supported Arm debuggers

    J-Link RDI can be used with any RDI-compliant debuggers. In the following all RDI compliant debuggers which have been tested with J-Link RDI are listed.
     

    • ARM® Developer Suite™ (ADS)
    • ARM® RealView® Development Suite (RVDS) V3.0 (Since RVDS 3.1 removed RDI support, J-Link RDI will not work with RVDS 3.1)
    • IAR Embedded Workbench for ARM (EWARM)
    • RealView® Microcontroller Development Kit (Keil MDK)
    • Greenhills (GHS) MULTI


    For more information about how to use RDI with debuggers listed above, please refer to the J-Link Manual (UM08001).

    Unlimited Flash Breakpoints

    The RDI DLL allows setting software breakpoints in flash memory areas, in the following called flash breakpoints. This makes it possible to set an unlimited number of flash breakpoints, rather than just the 2 hardware breakpoints permitted by the ICE. Setting flash breakpoints is executed very fast using a RAMcode specially designed for this purpose; on chips with fast flash the difference between breakpoints in RAM and Flash is unnoticeable.

    More information about Unlimited Flash Breakpoints

     

    j-link rdi iar flashbps 625

    RDI configuration

    RDI allows various configuration settings, such as:

    • Target system initialization via setup file
    • JTAG Speed and scan chain settings
    • Enable / disable Flash programming
    • Breakpoint settings (use software breakpoints, use Unlimited Flash Breakpoints)
    • CPU specific settings (Endianess, Reset strategy)
    • Enable / Disable Logfiles
    j-link rdi config

    Commands in the setup file

    CommandDescription
    SetJTAGSpeed(x);Sets the JTAG speed, x = speed in kHz (0=Auto)
    Delay(x);Waits a given time,
    x = delay in milliseconds
    Reset(x);Resets the target,
    x = delay in milliseconds
    Go();Starts the ARM core
    Halt();Halts the ARM core
    Read8(Addr);Reads a 8/16/32 bit value,
    Addr = address to read (as hex value)
    Read16(Addr);Reads a 8/16/32 bit value,
    Addr = address to read (as hex value)
    Read32(Addr);Reads a 8/16/32 bit value,
    Addr = address to read (as hex value)
    Verify8(Addr, Data);Verifies a 8/16/32 bit value,
    Addr = address to verify (as hex value)
    Data = data to verify (as hex value)
    Verify16(Addr, Data);Verifies a 8/16/32 bit value,
    Addr = address to verify (as hex value)
    Data = data to verify (as hex value)
    Verify32(Addr, Data);Verifies a 8/16/32 bit value,
    Addr = address to verify (as hex value)
    Data = data to verify (as hex value)
    Write8(Addr, Data);Writes a 8/16/32 bit value,
    Addr = address to write (as hex value)
    Data = data to write (as hex value)
    Write16(Addr, Data);Writes a 8/16/32 bit value,
    Addr = address to write (as hex value)
    Data = data to write (as hex value)
    Write32(Addr, Data);Writes a 8/16/32 bit value,
    Addr = address to write (as hex value)
    Data = data to write (as hex value)
    WriteVerify8(Addr, Data);Writes and verifies a 8/16/32 bit value,
    Addr = address to write (as hex value)
    Data = data to write (as hex value)
    WriteVerify16(Addr, Data);Writes and verifies a 8/16/32 bit value,
    Addr = address to write (as hex value)
    Data = data to write (as hex value)
    WriteVerify32(Addr, Data);Writes and verifies a 8/16/32 bit value,
    Addr = address to write (as hex value)
    Data = data to write (as hex value)
    WriteRegister(Reg, Data);Writes a register
    WriteJTAG_IR(Cmd);Writes the JTAG instruction register
    WriteJTAG_DR(nBits, Data);Writes the JTAG data register

    Example of a setup file

    /*********************************************************************
    *
    *    Setup file for J-LINK RDI
    *
    **********************************************************************
    * File:    LPC2294.setup
    * Purpose: Setup for Philips LPC2294 chip
    **********************************************************************
    */
    SetJTAGSpeed(1000);
    Reset(0);
    Write32(0xE01FC040, 0x00000001); // Map User Flash into Vector area at (0-3f)
    Write32(0xFFE00000, 0x20003CE3); // Setup CS0
    Write32(0xE002C014, 0x0E6001E4); // Setup  PINSEL2 Register
    SetJTAGSpeed(2000);

    Latest news

    2025
    Jul.09
    J-Link
    J-Link devices alongside Renesas RA8P1

    SEGGER delivers J-Link and Flasher support for Renesas Electronics's RA8P1

    SEGGER's J-Link series of debug probes and Flasher programmers are now compatible with Renesas Electronics's high-performance group of RA8P1 microcontrollers (MCUs). The MCUs are powered by the Arm® Cortex®-M85 (CM85) processor with a Helium™ M-Profile Vector Extension and Ethos™-U55 neural processing unit.

    [Read more...]

    All news

    • 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
    © 2025 SEGGER - All rights reserved.