Products / Development Software / winIDEA /Enhanced Functionality / In-Circuit Emulation
winIDEA
|
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
“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.
|

