Header iSYSTEM


  Solutions for Embedded System Development & Test

 
Center Headline


On-Chip Debugging - In-Circuit Emulation - Custom Designs - Real-time & Test Automation

Menu
Request

Request for information form

PrinterFriendly
Printer Friendly Page

Products / Development SoftwarewinIDEA /Enhanced Functionality / In-Circuit Emulation


winIDEA
Trace using an In-Circuit Emulator                   

 Trace Getting Started

Please note, these guides were put together for a dedicated microcontroller architecture and may differ from one to another. Please contact info@isystem.com for microcontroller specific information and functionality.

   

 

  

 

 

 

 

 

 

 


 


An In-Circuit Emulator
attaches directly to CPU’s external bus that is available using a bond-out chip of the appropriate microcontroller. A trace records address, data and control bus – illustrated in red, yellow and orange (see picture above) – filters can be set using a complex trigger and filter logic implemented on the In-Circuit Emulator’s hardware.

The analyzer module operates in real-time synchronized with the CPU clock. It records: Address, data and control bus as well as AUX lines and time stamps. The Trace can operate in two modes:

"Use trigger/qualifier"
A complex trigger event and filter (qualifier) can be defined. Additionally, the trigger output can be used by the in-circuit emulator to stop the program execution (trace breakpoint). Minimum or maximum trace buffer can be used (the size of the trace buffer depends on the microcontroller architecture and the respective tool implementation. iSYSTEM tools offer buffer sizes from 256Kbyte to > 2Gbyte. For more information please send email to info@isystem.com). 

A trigger event can be defined as any combination of conditions A, B and C which, when fulfilled, cause the trace module to start recording. The user might want to see the behavior of program flow before the trigger event, before and after, or only after the trigger event. The trigger position can be allocated in three ways: Begin – Center – End.

Qualifier/Filter
This is an additional filtering mechanism for recording samples. It allows AND and OR combinations of qualifier conditions with high-level source line information:

  • Qualifier - records samples that meet the qualifier condition
  • Source Lines - records samples whose address bus value defines a high-level source line
  • Source Lines & Qualifier - records samples that match both previous conditions
  • Source Lines | Qualifier - records samples that match either of above conditions
  • None - no qualifier is used, therefore everything is recorded


“Record everything”
The trace will trigger immediately and records everything.


Advanced triggers
iSYSTEM’s standard trace dialog implements some smart filter technology to help engineers to meet their goals. Here you can find two of them in the following. Please read Trace Getting Started for more information:

Watchdog trigger
A standard trigger condition, logically combined from events A, B and C, is not used to trigger directly the trace, but it’s responsible for keeping a free running trace watchdog timer from timing out. The trace watchdog time-out is adjustable. When the trace watchdog timer times out, the trace triggers and optionally stops the application. The problematic code can be found by inspecting the program flow in the trace history.

Typical use:
1) If the application being debugged features a watchdog timer, the trace watchdog trigger can be used to trap the situations when the application watchdog timer times out and resets the system. Typically, a “trace watchdog reset” condition is configured as a memory write to a specific memory location (e.g. watchdog register), which resets the watchdog timer to the start of a new time-out period. In case of the external watchdog timer being reset by the target signal, the external trace (AUX) input, where the signal must be connected, is configured, instead of a memory write. Time-out period of the trace watchdog timer must be set less than the period of the application watchdog so the trace can stop the application just before the application watchdog times out and resets the system.
 
2) If the application itself doesn’t feature a watchdog mechanism, the trace watchdog trigger can be used to supervise the application. The user needs to determine a part of the code that is executed periodically and its execution period, while the program behaves expectedly. The code, resetting the trace watchdog timer, can be, for instance, a function or data write/read access. The execution period is set for the trace watchdog timer time-out period. When the application misbehaves, the “watchdog reset” code is no longer executed within the normal execution period, the trace watchdog timer times out and the trace triggers.
 
3) The code being executed a definite time after the program start can be analyzed.
 
Duration tracker
The duration tracker measures the time that the CPU spends executing a part of the application constrained by the event A as a start point and the event B as an end point. Typically, a function or an interrupt routine is an object of interest and thereby constrained by events A and B. However, it can be any part of the program flow constrained by events A and B. Both events can be defined independently as an instruction fetch from the specific address or data write/read to/from the specific memory location or an active auxiliary signal.

bottom iSYSTEM
Copyright © 2008 iSYSTEM AG. All Rights Reserved. Impressum