Scripting Support
The command line interface provides a simple way to script the emulator, however it does not provide control flow and other more complex features. The command line interface therefore supports scripting with Python.
The scripting support is based on wrapping the C-API of the emulator using the ctypes
Python package.
Therefore it is possible to pass in Python functions where the API expects C-function pointers, for more details of how to do this, please consult the ctypes
documentation on https://www.python.org::
The wrappers are installed in: share/temu/wrappers/Python/
.
The location is automatically detected by TEMU, so it is possible to use the wrappers by simply importing the packages from your python script.
Scripting wrappers typically strip the temu namespace from function names as the languages have their own support for namespaces or packages.
Instead, they bundle the TEMU functions inside the TEMU package.
To use the functions the relevant package must be imported using e.g. import temu.c.support.cpu .
The C-subpackage is used for auto-generated wrappers of the C-API.
|
Python scripts can be executed via the script-run
command from the CLI.
The command takes either a file using the file
argument, or a literal string using the script
argument.
Another way to run a Python script is to start the CLI with the --run-script
option, using this option a non-interactive execution of TEMU will be started (which stops after the script finishes).
It is possible to run multiple script by specifying the --run-script
option multiple times.
As argument, pass a name of the script you want to execute.
Use the --run-commands option to specify a CLI script as well.
The CLI scripts are normally more convenient for constructing CPUs and will be possible to use when running interactively as well.
Thus, construct CPUs and machines using the CLI, and then run the more sophisticated code using Python.
|