Running EVE scripts
In this topic:
•Shortcut for running EVE scripts
Embedded Virtual Engine (EVE) is iSYSTEM approach to customization of debug actions in winIDEA.
EVE scripts use cases differ from Python scripts which are used for the high level control of winIDEA and configuration setup. EVE is a small execution engine that was designed to be placed at any level of winIDEA software and execute short programs of calls to available (i.e. registered) callbacks at a certain level.
EVE scripts are written in C (C++). Following is a Hello World example:
#define SCRIPT_FOR_CALL_PT_DEFAULT |
There are several points in time when a custom EVE script is (or can be) called. These are referred to as call points. Most of them are predefined e.g. start of debug session, start of trace etc. This note focuses on the dry EVE script execution (CALL_PT_DEFAULT). It is achieved through iSYSTEM.iConnect service call.
Available callbacks in EVE script depend on which execution host the EVE script is run. Currently an EVE script can only be run in the SoC object context (EXT_PT_SoCWI) where SoC related callbacks can be made, e.g. debug signal control, JTAG scan, memory access, core debug register access etc. Execution host is determined by iSYSTEM.iConnect service call URL and is meant for future extensions.
For more information about available API in EVE scripts see online documentation.
Dedicated iSYS.iConnect service also handles the EVE script compilation and can be limited to it. For details on various calls of said service see the following Python script from winIDEA installation dir subfolder EVE/Tools named runEveScript.py.
Python script can be called with an EVE script path as an only parameter to run an EVE script example on SoC execution host:
python runEveScript.py EVEHelloWorld.cpp |
Running the script produces the following output in Progress window:
Custom winIDEA tool can be configured to run an EVE script active in winIDEA editor:
Create a script via Tools / Customize / Tools / Add. |
1.Browse to winIDEA installation directory subfolder EVE/Tools and select runEveScript.py.
2. Optionally enter $(EXEDIR)eve\tools\runEveScript.py to Command field. Note: A warning might pop-up, just click OK.
3.Check option Use Output Window.
4.Recommended: Check option Save documents before running tool.
![]() |
Run EVE script. |
1. Open an EVE script (.cpp file) in the winIDEA Editor.
2. Select newly created command runEveScript in Tools menu.
3. The script will execute.
4. Look for the script output in the Progress window.
The command will run the file that was focused last in the Editor.
![]() |