Sometimes it could be useful to disconnect from the target, for example
when a "pass thought" energy monitor is used to control the USB
connection to the device.
This patch adds a couple of utility methods which allows to kill the ADB
server and restart it while waiting for the device to be ready to accept
new connections.
Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
The connect() method embeds some code to wait for a target to be
completely booted.
Let's move this code into a dedicated function.
Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
Gem5's statistics log file contains plenty of interesting information
that are not exposed so far. This module enables control and parsing of
the statistics file by:
- configuring periodic dumps of statistics;
- marking Regions of Interest (ROIs);
- and extracting values of specific fields during the ROIs.
If we execute a command such as:
'am start -a android.intent.action.VIEW -d nothing'
on Hikey960 with AOSP master, we do get an error message:
'Error: Activity not started, unable to resolve Intent ...'
but the error code is set to 0. Furthermore, that error message
is outputted to STDERR and not STDOUT.
The current error checking in adb_shell() is done by either
reading the error code or finding an error string in the
standard output. This commit adds a check of the error output,
and also changes the regular expression that is used to find
an error string as it wasn't generic enough.
Add a FrameCollector implementation that utilizes the output from
surfaceflinger (the Android compositor). This is is the only method for
accessing rendering data on older Android devices.
- Add "unknown" measurement type to be used when the type of measurement
for a CSV column cannot be established.
- Make channels argument optional for MeasurementCsv.
- If channels for a MeasurementCsv have not been specified, attempt to
discover them from the CSV header. This will check if each entry in
the header ends with the name of a known MeasurementType prefixed with
a "_"; if so, it will assume the reset of the entry is the site.
Otherwise, the entire entry will be assumed to be the site and
"unknown" MeasurementType will be used.
Add time_us MeasurementType for time expressed in microseconds and
define conversions to/form time. This is a very common unit for low-level
operations, and it may be desirable to avoid converting large number of
metrics to floats in order to report as a "standard" type.
- Change MeasurementType to derive from object rather than tuple.
- There is now support for conversion from one MeasurementType to
another. A MeasurementType defines what it can be converted to and
how.
- Add get_traceback -- a utility for getting the traceback for
the current exception.
- Add WorkerErrorException that is used to capture and propagate
exceptions from a worker thread on the main thread.
I have observerd the error message "write error: Invalid argument"
when using set_all_governors to set a non-existent governor on a
buildroot Linux system
ARM energy probe sends SIGTERM to caiman, this signal can be missed by
caiman due caiman has not registered signal handler for SIGTERM. On the
other hand, caiman registers signal handler for SIGINT, this patch is to
change to use signal SIGINT to notify caiman.
Signed-off-by: Leo Yan <leo.yan@linaro.org>
When providing a source file with wildcards (e.g. *ramp*.log)
to be pulled from the target, this might involve transferring
multiple files.
Add support for the transfer of multiple files in the pull method.
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
It sometimes can be useful to enable dry-run before calling
high-level functions in order to check what individual commands
are being called (or do whatever else with them).
This patch adds dry-run with an on/off switch:
once start_dryrun() is called, every subsequent command passed to
execute() will be accumulated in a list.
stop_dryrun() disables dry-run, and the accumulated commands can
be fetched via Target.dryrun