Barman consists of two C source files, barman.c and barman.h, that you build into the executable that runs on the target device. A configuration and generation utility generates these files.
To use Barman, you must modify your existing executable to do the following:
Initialize Barman at runtime.
Periodically call the data collection routines that Barman provides.
Optionally, stop the capture.
Optionally, extract the raw data that Barman collects and provide it to Streamline for analysis.
Barman has the following features:
It captures PMU counter values from Cortex®-A and Cortex-R class processors.
It captures sampled PC values.
It captures custom counters.
It allows you to control the sample rate.
It writes the data that it collects to memory.
It has low data collection overhead.
Barman supports the following Arm® architectures:
Armv7-A
Armv7-R
Armv7-M
Armv8-A, both AArch32 and AArch64.
Armv8-R
Armv8-M
Armv9-A
Warning
Barman is only intended for use in a development environment. Arm does not recommend including Barman in a released product without performing a security audit of the source code.