- Important information
- New features
- Known problems
- Program corrections
- User documentation corrections
- Miscellaneous
- Release history
Important information
To J-Link DCC file names have changed in version 5.20. Use
JLINKDCC_Process.c, JLINKDCC.h, JLINKDCC_HandleDataAbort.s
instead ofDCC_Process.c, DCC_Process.h, and DCC_HandleDataAbort.s
.To debug with J-Link, the USB driver has to be installed. The driver is found in the
drivers\JLink
directory on the installation CD-ROM. In addition, it is available in the...\arm\drivers\JLink
directory in the installation.Tips on how to use J-Link in C-SPY can be found in the technical note 76557.
For more information on installing J-Link, refer to the
IAR Embedded Workbench IDE User Guide for ARM
and the
J-Link / J-Trace User Guide.
New features
- None.
Known problems
-
Limitation: Intel XScale is currently not supported.
-
Limitation: DCC is currently not supported for ARM11.
-
Information about known problems in the low-level J-Link C-SPY driver can be found in the release notes for J-Link ARM DLL.
Program corrections
- None.
User documentation corrections
-
IAR Embedded Workbench® IDE for ARM® User Guide (UARM-16), new functions:
-
Page 232: In the Cortex-M devices section add these strategies:
Connect during reset
J-Link connects to the target while keeping Reset active (reset is pulled low and remains low while connecting to the target). This is the recommended reset strategy for STM32 devices. This strategy is available for STM32 devices only.
Halt after bootloader
This is the same as the Normal reset strategy, but the target is halted when the bootloader has finished executing. This is the recommended reset strategy for LPC11xx and LPC13xx devices. This strategy is available for LPC11xx and LPC13xx devices only.
Halt before bootloader
This is the same as the Normal reset strategy, but the target is halted before the bootloader has started executing. Not normally used, except in situations where the bootloader needs to be debugged. This strategy is available for LPC11xx and LPC13xx devices only.
-
Page 236-237: The command
Disable Interrupts When Stepping
on the J-Link menu can be used when not running at full speed and some interrupts interfere with the debugging process. This feature will ensure that only the stepped code is executed.
-
Page 256: Access type: Use the options in the Access Type area to specify the type of memory access that
triggers data log breakpoints. Read/Write works for all devices.
Read or Write works only for Cortex-M3 revision 2 devices.
-
Page 257-258: Setting breakpoints on vectors are now also possible for Cortex-R4 and Cortex-M3.
For Cortex-R4, the options are exactly the same as for ARM9.
For Cortex-M3, its specific vector names can be selected.
-
Page 272-280: Trace start/stop triggers and filters for ARM7 and ARM9 behave slightly differently compared to Cortex-M3.
The number of start/stop triggers can be up to 16 in total. Data value matching is not possible.
The number of trace filters can be up to 8. Each filter condition can have a data value match. Each filter can cover an exact address range (no address masking limits). The filters are always ORed together. Using the inverse link condition on one filter, the ORed result from all filters will be inverted. The ORed trace filter result is always ANDed with the start/stop trigger result (if there is any defined).
-
Page 502: in the
--jlink_reset_strategy
section, add these Cortex-M strategies:
3 = Connect during reset, for STM32 MCUs
4 = Halt after bootloader, for LPC11xx and LPC13xx MCUs
5 = Halt before bootloader, for LPC11xx and LPC13xx MCUs
-
Page 232: In the Cortex-M devices section add these strategies:
Miscellaneous
-
J-Link is shipped with a 20-pin JTAG connector. 14-pin JTAG targets can
be connected with a cable as shown below:
Debugging multiple ARM cores
J-Link can handle multicore debugging. In this case multiple ARM devices are connected to the same JTAG connector as shown below:
Release history
V5.40 2009-07-10
New features-
J-Trace for Cortex-M3 with triggering and filtering conditions.
-
Data breakpoints with value match condition for ARM7, ARM9 and Cortex-M
-
64-bits memory accesses.
-
Slow download on ARM11 when using J-Link. This have been fixed but requires a J-Link v8 or later to get the higher speed.
[EW20318] -
Hardware reset during execution could lead C-SPY to believe execution had stopped.
[EW21106] -
In EWARM 5.40.4:
SWO trace data is now collected during single step.
[EW21339] -
In EWARM 5.40.4:
Running C-SPY J-Link driver in batch mode now works when connected to an older revision of the STM32F10x device.
[EWARM-685]
V5.30 2009-01-23
New features-
None.
-
Vector catch functionallity did not work properly and in some cases this could lead to the fact that two breakpoints were set at same address.
[EW20480] -
The diagnostic message "Debugger problem discovered: The debugger has set two breakpoints at the same address 0x00000008." was incorrectly displayed when using vector catch on SWI and having semihosting enabled. This has been corrected.
[EW20604]
V5.20 2008-06-24
New features-
For Cortex-M, support for Trace and Terminal I/O (output) via SWO.
-
For ARM7 and ARM9, support for Terminal I/O (output) via DCC.
-
Support for the flash download and flash breakpoints features offered by J-Link (optional features). For more information see the J-Link / J-Trace User Guide
-
New reset methods added.
-
For Cortex-M3 the PRIMASK register was always displayed as "0" in the register window.
[EW19974] -
The disassembly window made accesses to the VICAddress register etc. (0xFFFFFF00 - 0xFFFFFFFF ) when displaying the interrupt vectors at 0x00-0x20. This led to that no IRQs were triggered any more.
[EW20160] -
For Cortex-M, the hardware breakpoint was not removed when it was cleared. This happened when there is only one breakpoint set.
[EW20251] -
When using the restore breakpoints feature and ARM11, the debugger could set two breakpoints at the same address.
[EW20221]
V5.11 2007-11-28
New features-
Support for ARM11.
-
New reset methods added.
-
When using the Attach to program option and having the stack plugin enabled, the debugger crashed when ending a debug session.
[EW19229] -
Single stepping over a breakpoint on Cortex-M3 failed and the target was halted on the breakpoint address.
[EW18892]
V5.10 2007-07-02
New features-
Data breakpoints are supported. For more information, refer to
Part 6. C-SPY hardware debugger systems in the EWARM User Guide
- The debugger can now display trace data from the ETB (Embedded Trace Buffer)
available on some ARM devices. This is supported by both the J-Link and the J-Trace probe.
-
Attach/detach to a running system without interrupting execution (nonintrusive debugging) is now supported.
-
Breakpoints and memory can now be modified during execution.
Global/static variables can be displayed by the Live watch window during execution.
To enable these features on ARM7/ARM9, a DCC handler must repeatedly be
called by the application.
The DCC handler code can be found in
src\debugger\DCC
. -
Macros for accessing the co-processor CP15 have been added.
-
Macro for JTAG TRST
__jtagResetTRST()
has been added.
-
When using the CPU ARM7TDMI-S, some features that are only working on ARM9 were incorrectly available in the menus.
-
Diagnostic messages sent from the J-Link driver during download were incorrectly treated as warnings.
-
For Cortex-M3, the debugger sometimes left hardware breakpoints enabled when stepping which made the target seem to be halted on the current address.
[EW18848]
V4.41A 2006-12-08
New features-
Live watch window for variables and live access of memory.
-
Setting breakpoints during execution.
-
Possible to show trace timestamps. (J-Trace)
-
Code coverage (J-Trace)
-
Command line option that performs
__jlinkExecCommand
macro calls at startup. -
Macros for direct JTAG access.
-
Information about new features in the low-level J-Link C-SPY driver can be found in the release notes for J-Link ARM DLL.
-
Some CPUs do not emit any trace information for certain instructions during single step due to a bug in the silicon. The debugger did not handle this and an error occured when reading a trace buffer.
[EW18388] -
Trace buffer size setting were incorrectly not saved.
-
Information about program corrections in the low-level J-Link C-SPY driver can be found in the release notes for J-Link ARM DLL.
V4.40A 2006-05-18
-
Support for the Cortex-M series has been added
V4.31A 2006-02-03
Added support for J-Trace with ETM trace.
-
The cspybat.exe command line debug tool crashed when configured to use the J-Link driver.
[EW17782]
V4.30A 2005-06-23
-
In some cases, the debugger could fail to clear temporary breakpoints set to control the execution of the flash loader.
[EW16610, EW16699] The J-Link firmware did not work correctly with ARM946E-S and ARM926EJ-S. The new J-Link driver will automatically update the firmware.
[EW16638]
V4.20A 2005-01-10
-
Changing the Philips LPC212x EXTPOLAR register caused JTAG
disconnection.
[EW16365]
V4.11A 2004-06-10
-
Debugging with big endian byte order did not work.
[EW15030] Combining the options Suppress download and Verify download did not work. The combination of the options Suppress download and Verify download should verify the target content without downloading.
V4.10B 2004-03-09
Flashing code larger than 8 Kbytes was erratic.
V4.10A 2004-02-21
- None.
V1.09 2003-12-15
- First release.