- Important information
- New features
- Known problems
- Program corrections
- User guide corrections
- Miscellaneous
- Release history
Important information
-
Information about I-jet, JTAGjet-Trace, and JTAGjet firmware versions.
-
Unlock utilities for EFM32, Kinetis, and LM3S devices are inluded in
$EW_DIR$\arm\bin\jet\bin
as Windows batch files. They are run without parameters. Please make certain that the correct utility is used, according to the available debugger interface (JTAG or SWD). -
Unlock utilities for STM32 devices are provided as C-SPY macros found in the Macro Quicklaunch window.
-
To debug a multi-core system using multiple instances of the C-SPY debugger that accesses the same I-jet debug probe, add the option
--jet_sigprobe_opt=shared
in Project>Options>Debugger>Extra Options. Note, this must be done in all Embedded Workbench projects.
New features
- None.
Known Problems
-
If two images are loaded, and both contains the
__vector_table
symbol, then a confusing debug log is generated.
[EW23506] -
Some devices suffer from I-jet and/or JTAGJet-Trace interoperability problems.
[EW23746,EW23785,EW23882] -
The Timeline and Event Log windows sometimes show incorrect time.
[EW23673] -
When debugging with I-jet and selecting "PC Samples" only, "Power (I)" packets will be displayed in the SWO Trace Window as well.
[EW23684] -
I-jet has problems to debug applications that spend long periods in sleep mode on some devices, for instance on Fujitsu MB9BF506R and Toshiba TMPM369.
[EW24061] -
ETM data from JTAGjet-Trace might in some cases have missing branch instructions when used with an ARM Cortex device. Near breakpoints, duplicated instructions may also appear in the trace data.
[EW24112] -
ETM is not re-initialized after a performed reset during the debug session.
Workaround: If your project is using the macro filereset.mac
included in most Spansion example projects, disable this macro file, it should not be necessary. TheexecUserReset()
macro inreset.mac
performs an extra reset which causes the ETM to be disabled.
For RAM debugging, a macro is necessary. In this case, comment out the part of the macro that performs an extra reset.
[EW24267] -
The private peripheral bus memory range and its registers are shown with incorrect endianness for Cortex M devices with BE32 byte order when using I-jet (for example TMS470M06607).
[EW24604] -
Trace is not available when debugging a Freescale Vybrid device.
[EW24813] -
Trace is not available when debugging a TMPR454 device.
[EW24828, EW24829] -
JTAGjet and JTAGjet-Trace does currently not support SWO.
-
Current limitations in the MTB (Micro Trace Buffer) implementation
The Trace Start/Stop/Filter breakpoints is not functional.
The timestamps for MTB trace records come from a simple counter and have no relation to cpu/clock cycles. Any conversion between cycles and time for MTB trace data will be misleading. The Call Stack graph in the Timeline window, for example, should not be used to measure time intervals.
The MTB trace data sequence may not present discontinuities correctly. Lines in the ETM Trace window (also used for MTB trace) may be marked as discontinuous, i.e. red, even though the trace sequence is contiguous. Conversely, trace data from a buffer that has overflowed will not always be marked as discontinuous. This is mostly a cosmetic problem, except for the Call Stack graph in the Timeline window, which only displays the latest continuous sequence of trace data.
The ETM Trace window (and related windows) are used for all variants of full instruction trace, ETM, ETB and MTB.
Program Corrections
-
Unlocking of Kinetis L and E devices has been added, as a C-SPY macro.
[EW24397] -
In EWARM 7.30.3:
Power samples are no longer dropped on devices without SWO/TPIU when debugging with I-jet/I-scope.
[EW24959]
User guide corrections
Trace options for I-jet/JTAGjet in the Project Options dialog box
The SWO page, described on page 503-504 in the C-SPY Debugging Guide for ARM has been renamed to Trace and now contains all trace-related options:
Trace data collection Mode Auto -
The C-SPY driver sets the mode automatically, depending on probe and board/device capabilities.
The basic modes are tried in probe-dependent order:
I-jet First SWO, then ETB (ETM is not supported by I-jet). I-jet Trace First ETM, then SWO, then ETB. JTAGjet-Trace First ETM, then ETB (SWO is not supported by JTAGjet-Trace). JTAGjet Only ETB (SWO and ETM are not supported by JTAGjet).
None-
Disables trace. In this mode, C-SPY will not access any trace-related on-chip resources.
None can for example be used when:
You are experiencing connectivity problems. It might be easier to diagnose the reason for connectivity problems without the interference from initialization of trace resources.
Trace might change some internal clocking and/or GPIO mux settings and as result some applications might not work well with a specific trace mode.
You want to exercise low-power modes. Internal on-chip trace logic and toggling trace pins will require some additional current and it might interfere with low-power measurements. In extreme cases, enabling clocks for tracing/GPIO might prevent the CPU to actually enter low-power modes, because some clocks inside the CPU must be kept active.
-
Collects trace data through the serial (SWO) interface.
Parallel (ETM)-
Collects trace data through the parallel (ETM) interface.
On-chip (ETB/MTB)-
Collects trace data through the on-chip (ETB/MTB) interface.
Note: Power measurement (both TrgPwr as provided by the probe or via I-scope) is not dependent on a particular trace mode and is always possible (if the probe supports it).
The Debug Log window will include messages about the currently used trace mode. If a particular mode cannot be used, either due to probe or to board/device-imposed limitations, trace will be disabled (as when None is selected) and a warning message will be displayed in the Debug Log window. Here is how the support of a particular mode is checked:The probe must support the particular mode.
The probe must support the particular mode on a specific core (for example ETM on ARM9 is not supported by the I-jet Trace probe).
The specific core must support the particular mode (for example Cortex-M0 does not support SWO/ETM/ETB at all, ARM9 does not support SWO).
The used adapter must support the specified mode (for example ETM trace is not possible when the ARM20 adapter is used with I-jet Trace).
The specific device must support the particular mode (for example ETM trace is not possible on a Cortex-M3 without ETM, which cannot be detected until reading the on-chip TPIU configuration register).
Allow ETB Allows simultaneous on-chip (ETB) trace as well. This option is only available when Mode is Serial (SWO). Buffer limit Specifies the number of mega-samples to capture. This option is only valid if parallel (ETM) mode is used, either explicitly through Parallel (ETM) or implicitly through Auto.
ETM provides 4-bit trace data on each edge of the trace clock, such a smallest amount of trace data is called an "ETM sample". The trace probe can capture 4-bit trace from ETM-capable devices over a MIPI20 connector. Captured trace data is stored inside the probe. This trace data is later read, decoded, analyzed, and displayed by C-SPY in different windows.
Because reading and decoding large amounts of captured trace data might take some time, it is possible to limit what portion of ETM memory will actually be read by C-SPY once trace data collection is stopped (either because the CPU stopped or because trace stopped when the buffer got full). The Buffer limit parameter provides a way to set this limit to a certain number of "Msamples". Msamples = Mega samples = ~1 million 4-bit samples. The higher Buffer limit, the more useful trace data will be available, but it might take longer to see results and more memory to store it. C-SPY will retreive the most recent samples from the trace probe, the rest of the collected trace data will be discarded by the probe.
There is no easy correlation between number of raw 4-bit ETM samples and the number of PC samples visible in the ETM Trace window. The ETM protocol itself is highly compressed, and the probe provides additional compression of ETM idle cycles, so it is not possible to guess how many instructions can be decoded from a certain number of raw ETM samples collected by the trace probe. If the program changes PC a lot, ETM will need to use more samples to send more PC bits and as such trace data will not compress well. For a particular application profile, this number is usually constant (between 0.5 and 2 instructions for each 4-bit sample), so you must use your own judgement to see what buffer limit that provides good balance between decoded data size and C-SPY performance.
Note: The JTAGjet-Trace probe currently ignores the Buffer limit parameter. The buffer limit in JTAGjet-Trace is fixed to 1M/2M/4M samples depending on hardware limit.
Miscellaneous
-
The C-SPY driver for I-jet/JTAGjet has a new command line option,
--jet_leave_running
If this command line option is used, then the C-SPY driver for I-jet will leave the target in the same way as when the option Attach to running target is used.
To set this option in the IDE, use Project>Options>Debugger>Extra Options.
Release history
V7.20 2014-05-19
Program corrections-
Power logging now survives a reset.
[EW24554] -
SWD mode could not be selected for Cortex A/R.
[EW24630] -
Multicore slave probe configuration is not inherited from the master configuration.
[EW24684] -
In EWARM 7.20.2:
A problem that made it impossible to debug an AMP multicore application has been corrected.
[EW24743] -
In EWARM 7.20.2:
The debugger no longer terminates unexpectedly when trying to initialize ETM trace with a 1 bit port width. (The only port width supported in JTAGjet Trace is 4 bits.)
[EW24779] -
In EWARM 7.20.5:
The number of HW breakpoints is no longer limited to six for Cortex-R4.
[EW24638] -
In EWARM 7.20.5:
An intermittent problem when debugging with JTAGjet, related to a newer version of Windows USB drivers, has been fixed.
[EW24750] -
In EWARM 7.20.5:
The SWO interrupt log is now correctly handled on devices with slow SWO clock.
[EW24840] -
In EWARM 7.20.5:
Debugger reads of memory on Cortex-A when cache is enabled now shows the correct values.
[EW24857, EW24780, EW24796] -
In EWARM 7.20.5:
Software breakpoints are restored atmain()
in CM408F example project Button_LED_GPIO.
[EW24866]
- None.
V7.10 2014-02-21
Program corrections-
A data breakpoint with Match Data on Cortex-M0 might cause the debugger to terminate unexpectedly, and might also make the EWARM project file corrupt.
[EW24307] -
When debugging an ARMv7-R/A core, and stepping on a branch to self instruction, the C-SPY driver reports
Unknown stop condition or CPU is running
.
[EW24419] -
C-SPY is now able to read the
FPSCR
register on Cortex-M with FPU extension.
[EW24496] -
In EWARM 7.10.3:
The option Restore software breakpoints at did not work as expected after reset. It has now been corrected.
[EW24498] -
In EWARM 7.10.3:
I-jet correctly disables cache on Vybrid on a software reset.
[EW24562]
- None.
V6.70 2013-10-29
Program corrections-
The I-jet in-circuit debugging probe now operates more smoothly when the host system is a one-core Windows XP computer.
Note, make sure to update I-jet firmware to 4.2 or later. Read more in Information about I-jet, JTAGjet-Trace, and JTAGjet firmware versions
[EW23848, EW24016] -
The C-SPY driver now reports the correct CPUID in the Debug Log window.
[EW24199] -
The C-SPY driver now access CP15 registers correctly when debugging a Faraday FA606TE.
[EW24213] -
In EWARM 6.70.2:
Setting a breakpoint directly on a vector in the interrupt vector table no longer disables the interrupt.
[EW24230] -
In EWARM 6.70.2:
Custom reset strategies are now available for NXP LCP23xx and LPC24xx devices.
[EW24253]
- None.
V6.60 2013-06-27
Program corrections-
ETM trace is now working when debugging a TMDXRM48HDK with JTAGjet-Trace.
[EW23843] -
Terminating a debug session while the Terminal I/O window still prints, no longer causes the debugger to crash.
[EW23893] -
I-Jet can now download to flash on an ADuC7026. If this problem persists, open the I-jet/JTAGjet>Memory Configuration dialog box, in the Used Ranges pane, define the Cache Type of memory in range 0-0xF7FF as ROM/Flash.
[EW23932] -
MTB trace now works also when power logging is active.
[EW23951] -
The unlock scripts now run without doing a license check.
[EW23955] -
Debug mechanisms are now kept enabled in sleep mode on STM32 devices. This is done through STM32-specific C-SPY macros.
[EW23998, EW24011, EW24021] -
In EWARM 6.60.2:
I-jet now supports ETB trace when debugging on Cortex-M4.
[EW23748] -
In EWARM 6.60.2:
Improved wording and nature of a warning message.
[EW24063] -
In EWARM 6.60.2:
Stability when receiving ETM trace data from a Kinetis K60 is improved.
[EW24073] -
In EWARM 6.60.2:
EmuDiag can now update the firmware in JTAGjet-Trace.
[EW24082] -
In EWARM 6.60.2:
Using BE8 big-endian mode and I-jet no longer gets the application to malfunction when hitting a software breakpoint.
[EW24092] -
In EWARM 6.60.2:
The unlock scripts,Kinetis_unlock_jtag.bat
andKinetis_unlock_swd.bat
now work on Freescale Kinetis devices.
[EW24125]
- None.
V6.50 2012-11-10
Program corrections-
The C-SPY driver for I-jet is now enhanced to serve JTAGjet as well.
[EW23152] -
Debugging on Freescale i.MX25 is now possible without workaround.
[EW23364] -
In EWARM 6.50.3:
It is now possible to use CSpyBat with the I-jet/JTAGjet debugger driver.
[EW23504] -
In EWARM 6.50.3:
The intrinsic function__WFI
is now handled correctly in I-jet.
[EW23533] -
In EWARM 6.50.3:
If you set up I-jet not to supply the target board with power, power delivery to the target board will now stop when the debug session starts.
[EW23633] -
In EWARM 6.50.3:
When SWO interrupt information packets have to be dropped because of excessive amounts of data, this is now handled gracefully.
[EW23675] -
In EWARM 6.50.3:
Pressing Reset just when the CPU has started autonomously no longer causes a deadlock.
[EW23693] -
In EWARM 6.50.3:
Interrupts are now logged and presented correctly in C-SPY windows. (However, the interrupt specifications in the Freescale SVD files are not correct, so the naming of such interrupts might be misleading. See EW23788 for more information.)
[EW23694] -
In EWARM 6.50.3:
Running EmuDiag.exe no longer requires administrator privileges.
[EW23695] -
In EWARM 6.50.5:
It is now possible to download and verify with I-jet on LPC2103. Note however that it might be necessary to add an execUserPreload macro to set MEMMAP to the proper value, 1 for a flash configuration and 2 for a RAM configuration.
[EW23652] -
In EWARM 6.50.5:
It is now possible to set a breakpoint when running on a Freescale Kinetis K60.
[EW23692] -
In EWARM 6.50.5:
The example projects for Spear3xx are now adapted to I-jet/JTAGjet.
[EW23794] -
In EWARM 6.50.5:
It is now possible to debug AM335x with I-jet and JTAGjet.
[EW23806] -
In EWARM 6.50.5:
JTAGjet-trace now handles trace data (ETM) correctly when debugging on STM32F407ZG-SK.
[EW23899] -
In EWARM 6.50.6:
Match data for data breakpoints is no longer ignored by I-jet.
[EW23505] -
In EWARM 6.50.6:
The C-SPY driver for I-jet now handles SWO on MB9AFB44N correctly.
[EW23595] -
In EWARM 6.50.6:
Data log is now working when debugging on MB9BF506R.
[EW23708] -
In EWARM 6.50.6:
The C-SPY driver for I-jet now handles FPU registers correctly.
[EW23778] -
In EWARM 6.50.6:
C-SPY now behaves robustly when the ETM signal from the device is unstable.
[EW23786] -
In EWARM 6.50.6:
The last ITM event log before execution is stopped at a breakpoint, is no longer missing.
[EW23832] -
In EWARM 6.50.6:
Power sampling now works for devices without SWO.
[EW23876] -
In EWARM 6.50.6:
ITM logging is now intact, also when Power sampling is not active.
[EW23879] -
In EWARM 6.50.6:
C-SPY can now download an image to a K60 device.
[EW23931]
-
In EWARM 6.50.5:
Unlock utilities for EFM32, Kinetis and LM3S devices are inluded in$EW_DIR$\arm\bin\jet\bin
as Windows batch files. They are run without parameters. Please make certain that the correct utility is used, according to the available debugger interface (JTAG or SWD). -
Support for MTB (Micro Trace Buffer)
The MTB trace mechanism gives access to instruction trace on devices based on the Cortex-M0+ core.
V6.40 2012-06-05
Program correctionsTHUMB breakpoints that end up in the same 32-bit word are now handled correctly by C-SPY.
[EW23243]When debugging on an AM1808 device with I-jet you no longer get warnings about misplaced SFRs.
[EW23289]-
In EWARM 6.40.5:
I-jet now works with TMS470R1B1M.
[EW23310] -
In EWARM 6.40.5:
C-SPY no longer terminates unexpectedly when closing a debug session.
[EW23370, EW23531] -
In EWARM 6.40.5:
I-jet now works with LPC2138. Note, reset strategy must be set to "Hardware" or "Software".
[EW23427, EW23442, EW23443] -
In EWARM 6.40.5:
Turning on "Power Sampling" in the Function Profiler window could sometimes cause a crash, e.g. if Profiling was turned on already when launching a debug session, but Power Sampling was turned on later. This has been fixed.
[EW23509] -
In EWARM 6.40.5:
Creating or editing configurations in the Memory Configuration dialog box when running a session in Japanese could cause IAR Embedded Workbench to exit unexpectedly. This has been corrected.
[EW23513] -
In EWARM 6.40.5:
I-jet now works with LPC2378. Note, reset strategy must be set to "Hardware" or "Software" and JTAG/SWD speed must be set to "Adaptive".
[EW23515]
- None.
V6.30 2011-10-22
Program corrections- None.
- None.
- None.