commit | 532b85df5b630c59b99b2e95179b295d69c1f8f4 | [log] [tgz] |
---|---|---|
author | Paulo Neves <paulo.neves@nokia.com> | Thu Oct 18 13:31:49 2018 +0200 |
committer | Mike Leach <mike.leach@linaro.org> | Fri Nov 16 15:30:20 2018 +0000 |
tree | 023c705e020fb75a33ba99c454f46dab9122afb4 | |
parent | a8a90161b9ea57e1883992c8d9f79f7e40be13a9 [diff] |
build: Use $(MAKE) for recursive make calls. Previously the decoder makefile called recursive make by calling make directly. According to the make documentation this should not be used[1]. Instead $(MAKE) variable should be used. One of the problems that this solved in my case was that I was not able to build opencsd in parallel because the jobservers did not recognize children make. [1] https://www.gnu.org/software/make/manual/html_node/MAKE-Variable.html
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 or documentation updates.
Releases will appear on the master branch in the git repository with an appropriate version tag.
Current Version 0.10.0
ETMv4 (v4.1) instruction trace - packet processing and packet decode.
PTM (v1.1) instruction trace - packet processing and packet decode.
ETMv3 (v3.5) instruction trace - packet processing and packet decode.
ETMv3 (v3.5) data trace - packet processing.
STM (v1.1) software trace - packet processing and packet decode.
External Decoders - support for addition of external / custom decoders into the library.
Note: for ITM and STM, packet decode is combining Master+Channel+Marker+Payload packets into a single generic output packet.
This git repository for OpenCSD contains only source for the OpenCSD decoder library. From version 0.4, releases appear as versioned tags on the master branch.
From version 0.7.4, the required updates to CoreSight drivers and perf, that are not currently upstream in the linux kernel tree, are now contained in a separate repository to be found at:
https://github.com/Linaro/perf-opencsd
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 the [programmers guide](@ref prog_guide) for details on usage of the library in custom applications. (./docs/prog_guide/prog_guide_main.md
).
See [build_libs.md](@ref build_lib) in the ./docs
directory for build details.
The linux build makefile now contains options to install the library for a linux environment.
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.
Capturing trace using perf and decoding using the library can generate profiles for AutoFDO.
See [autofdo.md](@ref AutoFDO) for details and scripts.
(./tests/auto-fdo/autofdo.md
).
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.
Using the github site: https://github.com/Linaro/OpenCSD
Mailing list: coresight@lists.linaro.org