|0.3.1||Jul 5, 2018|
|0.3.0||Jul 5, 2018|
|0.2.1||Feb 25, 2018|
|0.2.0||Jan 11, 2018|
|0.1.1||Oct 20, 2016|
#54 in Embedded development
129 downloads per month
A Rust crate and tool
itmdumpto parse and dump ARM ITM packets.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
A library and tool (
itmdump) to parse and dump ARM ITM packets.
itmdump (de13e34 2017-12-19) Reads data from an ARM CPU ITM and decodes it. Input is from an existing file (or named pipe) at a supplied path, or else from standard input. USAGE: itmdump [FLAGS] [OPTIONS] FLAGS: -F, --follow Keep the file open after reading through it and append new output as it is written. Like `tail -f'. -h, --help Prints help information -V, --version Prints version information OPTIONS: -f, --file <file> Path to file (or named pipe) to read from -s, --stimulus <port> Stimulus port to extract ITM data for. [default: 0]
$ itmdump -f /tmp/itm.dump PANIC at 'Hello, world!', examples/panic.rs:13
OpenOCD is an open-source tool to debug and flash microcontrollers.
Reading via a named pipe works well on POSIX machines; e.g. Linux or macOS, but not Windows.
$ mkfifo /tmp/itm.fifo $ itmdump -f /tmp/itm.fifo
This will create a named pipe:
/tmp/itm.fifo. Another application, e.g. OpenOCD, will have to
connect to this pipe and write to it. Here's an example command for OpenOCD + GDB that does
that. (OpenOCD documentation on ITM and TPIU).
(gdb) monitor tpiu config internal /tmp/itm.fifo uart off 8000000
itmdump will read from the pipe, parse the packets and write the payload to
PANIC at 'Hello, world!', examples/panic.rs:13
itmdump can monitor a file and dump new ITM data written to it (similar to
This may be useful on Windows especially where POSIX named pipes are not available. Just let
OpenOCD capture to a file and monitor it with
$ itmdump -f /tmp/itm.live -F PANIC at 'Hello, world!', examples/panic.rs:13
- ARMv7-M Architecture Reference Manual - Appendix D4.2 Packet descriptions
Available to download as a PDF after a free registration.