2.1 C++ client examples
The following C++ client examples are located in $PVLIB_HOME/Iris/Examples/Client/.
When launching the model to connect to, use the
-I option to start an Iris server.
Many of these examples require you to specify a target instance. You must use the full hierarchical instance name, for example:
./breakpoints localhost:7100 component.FVP_Base_Cortex_A32x1.cluster0.cpu0 --list
For information about Iris instance names, see 5.20.1 Hierarchical instance names and instance classes.
2-1 C++ client examples
- Sets or deletes code or data breakpoints.
- Prints information about breakpoints that have been set for a target instance.
- Connects this client instance to the Iris server.
- Prints the client instance name and id.
- Prints the disassembly modes that are supported by a target instance.
- Prints the current disassembly mode.
- Disassembles a chunk of memory, or an individual opcode.
- Starts or stops the simulation.
- Halts or resumes execution of a specific instance.
- Provides an interactive mode, which in addition:
- Prints the execution time and execution state of the simulation.
- Performs instruction stepping.
- Prints information about the memory spaces that are exposed by the target instance.
- Prints the contents of memory that was read from a specific address, in a specific memory space.
- Prints information about all resource groups and the resources (registers and parameters) in each group, for a target instance.
- Writes a value to a specific resource.
- Reads a value from a specific resource.
- Creates an event stream for
- Registers itself to receive callbacks for semihosting output events.
- Receives semihosting output from the target and prints it.
- Registers itself to receive a specific trace source from all instances. The trace source is specified on the command line, or
INST by default.
- Creates an event stream for the trace source specified.
- Implements a callback function that prints the contents of each trace event.