Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Wiki
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • J-Link debug probes
  • J-Link RDI
  • Technology
  • Accessories
  • Tools
  • Models
J-Link product icon SEGGER blue stack

J-Link Tools - RDI Interface

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. It is a separate item and not included in the J-Link software. For more information on the pricing please check out our Price list.

  1. 1.Supported ARM Debuggers
  2. 2.Unlimited Flash Breakpoints
  3. 3.RDI Configuration
    1. 3.1.Commands in the Setup File
    2. 3.2.Example of Setup File

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 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);

More Information

Purchase

  • Pricing

Technology

  • Control Panel
  • Flash Breakpoints
  • Flash Download
  • Interface Description
  • J-Link SDK
  • J-Link DSK
  • Monitor-mode Debugging
  • Power Profiling
  • Real Time Transfer (RTT)

Tools

  • J-Run
  • Ozone - J-Link Debugger
  • J-Link Configurator
  • J-Link Remote Server
  • J-Link Commander
  • J-Mem
  • J-Link SWO Viewer
  • J-Scope
  • J-Flash
  • J-Flash SPI
  • J-Link RDI
  • RTT Viewer
  • SystemView
  • Terms of Use
  • Third Party applications

Models

  • Overview
  • J-Link PRO
  • J-Link ULTRA+
  • J-Link WiFi
  • J-Link PLUS
  • J-Link BASE
  • J-Link EDU Mini
  • J-Link OB

About us

  • The Company
  • Partners
  • Job Offers
  • Media
  • Contact us

Support

  • Technical Support
  • Blog
  • Forum
  • Wiki

Downloads

  • Application Notes
  • Embedded Studio
  • embOS
  • emCompress
  • emCrypt
  • emFile
  • emLib
  • emLoad
  • emModbus
  • emNet
  • emPower
  • emSecure
  • emSSH
  • emSSL
  • emUSB-Device
  • emUSB-Host
  • emVNC
  • emWin
  • Flasher
  • Free Utilities
  • IoT
  • J-Link / J-Trace
  • Linux Studio
  • SystemView
  • CE / REACH

Social Media

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
  • Privacy Policy

© 2023 SEGGER - All rights reserved.