commit | ff1ac8cd7947e9f1eb7f3e2967cfd091e1ba0e05 | [log] [tgz] |
---|---|---|
author | Mike Leach <mike.leach@linaro.org> | Fri Aug 19 16:50:59 2016 +0100 |
committer | Mike Leach <mike.leach@linaro.org> | Mon Sep 19 11:28:53 2016 +0100 |
tree | 24743fd0dc27456b8deb69989e1cd1c2fe8dd2f1 | |
parent | 6b86cd53451b69c679acc08c36d608989928b491 [diff] |
opencsd: Update to ensure that the C packet structure is used in C API. The ETMv3 packet C++ object has the C packet stuct encapsulated rather than as a base class. This resulted in the wrong pointer value being passed out to the C API. This has been corrected using a base packet class interface to explicitly get a pointer to the C struct declared for the C API interface. Signed-off-by: Mike Leach <mike.leach@linaro.org>
This library provides an API suitable for the decode of ARM(r) CoreSight(tm) trace streams.
The library will decode formatted trace in three stages:-
The library is implemented in C++ with an optional "C" API.
From version 0.4, library versioning will use a semantic versioning format (per http://semver.org) of the form Major.minor.patch (M.m.p).
Internal library version calls, documentation and git repository will use this format moving forwards. Where a patch version is not quoted, or quoted as .x then comments will apply to the entire release.
Releases will be at M.m.0, with patch version incremented for bugfixes.
Releases will appear on the master branch in the git repository with an appropriate version tag.
Current Version 0.4
Note: for ITM and STM, packet decode is combining Master+Channel+Marker+Payload packets into a single generic output packet.
At present, the git repository for OpenCSD contains both branches/tags for the OpenCSD library itself, and branches that have the perf updates that are not yet upstream in the main linux tree for using perf to record and decode trace.
These perf branches are snapshots of the kernel tree and are thus quite large. It is advised if only the OpenCSD library is required, clone only selected branches. Otherwise, downloading may take some time.
e.g.
git clone -b opencsd-0v003 --single-branch https://github.com/Linaro/OpenCSD
(From version 0.4, releases appear as versioned tags on the master branch.)
API Documentation is provided inline in the source header files, which use the doxygen standard mark-up. Run doxygen
on the ./doxygen_config.dox
file located in the ./docs
directory..
doxygen ./doxygen_config.dox
This will produce the documentation in the ./docs/html
directory. The doxygen configuration also includes the *.md
files as part of the documentation.
See [build_libs.md](@ref build_lib) in the ./docs
directory for build details.
perf
The library and additional infrastructure for programming CoreSight components has been integrated with the standard linux perfomance analysis tool perf
.
See [HOWTO.md](@ref howto_perf) for details.
perf
tools integration - BKK16, 8th March 2016This library is licensed under the BSD three clause licence.
A copy of this license is in the LICENCE
file included with the source code.