Segger Logo Embedded Software Solutions
Software productsHardware productsDownloadsPricesCustomersOur PartnersSitemapForumAbout us
J-Link ARM RDI support
| J-Link software overview | J-Link General Information | Performance comparison | USB driver installation | J-Mem | J-Link DLL | Flash programming overview | J-Flash ARM | Flash SDK | Using J-Link with IAR "C"-Spy | ARM-RDI | ARM-RDI-Flash BPs | JTAG Isolator | J-Link Adapters | Troubleshooting | J-Link FAQs | J-Link Pricing | GDB Server |

Support for RDI compatible ARM debuggers

The JLink-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 Pricelist.

ARM AXD ARM RVDS

Using J-Link with AXD (ARM Developer suite, ADS)
Using J-Link with IAR's EW via RDI (Embedded workbench)
Using J-Link with RVDS (Realview developer suite by ARM Ltd.)

Software breakpoints in Flash

The RDI DLL allows setting software breakpoints in Flash memory areas. This makes it possible to set an unlimited number of software breakpoints in Flash, rather than just the 2 hardware breakpoints permitted by the ICE. Setting the breakpoints in flash 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 on software breakpoints

Configuration

RDI allows various configuartion 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 flash breakpoints
CPU specific settings (Endianess, Reset strategy)
Enable / Disable Logfiles

Commands in the setup file:

Command Description
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);
Read32(Addr);
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);
Verify32(Addr, Data);
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);
Write32(Addr, Data);
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);
WriteVerify32(Addr, Data);
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);

Limitations

Since RVDS 3.1 removed RDI support, J-Link RDI will not work with RVDS 3.1

Software download

Copyright SEGGER Microcontroller GmbH & Co.KG. All rights reserved.
For more information, please visit our web site www.segger.com or contact us at info@segger.com
Last update: January 8, 2008