Updated README.md with latest version number, note on git repository, and current support.
Updated HOWTO.md with latest version number and fixed some typos.
Updated TODO with details on upcoming work.
Udpated Doxygen config file with version number. --- HOWTO.md | 13 ++++++++----- README.md | 22 ++++++++++++++++++---- TODO | 11 ++++++++--- decoder/docs/doxygen_config.dox | 2 +- 4 files changed, 35 insertions(+), 13 deletions(-)
diff --git a/HOWTO.md b/HOWTO.md index aadcd16..93d6a9d 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -1,17 +1,20 @@ HOWTO - using the library with perf {#howto_perf} ===================================
+@brief Using command line perf and OpenCSD to collect and decode trace. + This HOWTO explains how to use the perf cmd line tools and the openCSD library to collect and extract program flow traces generated by the CoreSight IP blocks on a Linux system. The examples have been generated using an aarch64 Juno-r0 platform. All information is considered accurate and tested -using library branch `opencsd-0v002` (decode library only) and the latest perf +using library branch `opencsd-0v003` (decode library only) and the latest perf branch `perf-opencsd-4.7-rc1` (decode library + perf tools) on the [OpenCSD github repository][1].
-On Target Trace Acquisition ---------------------------- +On Target Trace Acquisition - Perf Record +----------------------------------------- + All the enhancement to the Perf tools that support the new `cs_etm` pmu have not been upstreamed yet. To get the required functionality branch `perf-opencsd-4.7-rc1` needs to be downloaded to the target system where @@ -192,7 +195,7 @@ too much. At the end of the compilation a new perf binary is available in `tools/perf/`
-Trace Decoding with Perf Record +Trace Decoding with Perf Report -------------------------------
Before working with custom traces it is suggested to use a trace bundle that @@ -220,7 +223,7 @@ to be sure everything is clean.
linaro@t430:~/linaro/coresight/feb24$ rm -rf ~/.debug linaro@t430:~/linaro/coresight/feb24$ cp -dpR .debug ~/ - linaro@t430:~/linaro/coresight/feb24$ export LD_LIBRARY_PATH=~/linaro/coresight/opencsd-0v002/decoder/lib/linux64/debug/ + linaro@t430:~/linaro/coresight/feb24$ export LD_LIBRARY_PATH=~/linaro/coresight/opencsd-0v002/decoder/lib/linux64/dbg/ linaro@t430:~/linaro/coresight/feb24$ ../perf-opencsd-4.7-rc1/tools/perf/perf report --stdio
# To display the perf.data header info, please use --header/--header-only options. diff --git a/README.md b/README.md index 17c27da..9d07e94 100644 --- a/README.md +++ b/README.md @@ -14,22 +14,36 @@ The library is implemented in C++ with an optional "C" API. CoreSight Trace Component Support. ----------------------------------
-_Current Version 0.002_ +_Current Version 0.003_
### Current support:
- ETMv4 instruction trace - packet processing and packet decode. - PTM instruction trace - packet processing and packet decode. -- ETMv3 instruction and data trace - packet processing. +- ETMv3 instruction trace - packet processing and packet decode. +- ETMv3 data trace - packet processing. - STM software trace - packet processing.
### Support to be added:
-- ETMv3 instruction trace - packet decode. - ITM software trace - packet processing. - ETMv3 data trace - packet decode. - ETMv4 data trace - packet processing and decode.
+Note on the Git Repository. +--------------------------- + +At present, the git repository for OpenCSD contains both branches 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 +
Documentation ------------- @@ -63,7 +77,7 @@ Version and Modification Information
- _Version 0.001_: Library development - tested with `perf` tools integration - BKK16, 8th March 2016 - _Version 0.002_: Library development - added in PTM decoder support. Restructure header dir, replaced ARM rctdl prefix with opencsd/ocsd. - +- _Version 0.003_: Library development - added in ETMv3 instruction decoder support.
Licence Information =================== diff --git a/TODO b/TODO index 2583410..6bce346 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,11 @@ -In about this order (assuming PTM decode pushed quite soon). - -* ETMv3 full decode. +* Decode Tree API updates. +-> Re-factor the decode tree API to: + 1) remove the per decoder type creation functions - CreateETMv4Decoder(...), + replacing with a single CreateDecoder("Type"). + 2) Use new structure to enable custom decoders - may be proprietary / binaries to + be used in the decoder structure. + 3) Make it easier to add a new decoder to the library source, without the overhead of + doing all the creation fns.
* STM "full decode". -> This is simply to come up with a generic packet format that will consist of diff --git a/decoder/docs/doxygen_config.dox b/decoder/docs/doxygen_config.dox index 7053ae34..ed9f327 100644 --- a/decoder/docs/doxygen_config.dox +++ b/decoder/docs/doxygen_config.dox @@ -38,7 +38,7 @@ PROJECT_NAME = "OpenCSD - CoreSight Trace Decode Library" # could be handy for archiving the generated documentation or if some version # control system is used.
-PROJECT_NUMBER = 0.002 +PROJECT_NUMBER = 0.003
# Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a