rust-embedded / itm Goto Github PK
View Code? Open in Web Editor NEWTool to parse and dump ITM packets
License: Apache License 2.0
Tool to parse and dump ITM packets
License: Apache License 2.0
I often get error 'end of file during packet' while I run itmdump -f itm.fifo -F
. It occurs because itmdump
reads header but it can't read a full packet (receiving of the packet is in progress).
I think when itmdump
invoked with --follow
option it must never throw this error. It should retry reading until it will read full packet.
This relies on named pipes (fifo files) to work. Is there an equivalent to that in Windows land?
Hi i was working with discovery book and I was trying to install the itmdump but it's showing me error.
error: there is nothing to install in
itm v0.3.1, because it has no binaries
cargo installis only for installing programs, and can't be used with libraries. To use a library crate, add it as a dependency in a Cargo project instead.
rustc Version
ustc 1.55.0-nightly (2f391da2e 2021-07-14)
cargo --version
cargo 1.55.0-nightly (3ebb5f15a 2021-07-02)
Please help me with this.
The Cargo.lock is included in the .gitignore. I wonder why?
I was trying to package this for nixOS, however it will be a little harder without a lock file.
Building itm fails if '--frozen' parameter is used:
cargo build --frozen
error: the lock file .../itm/Cargo.lock needs to be updated but --frozen was passed to prevent this
This is the case for v0.3.1 and current master.
This problem is beacuse apple-clang redirect errno.h to cerror. Change #include <errno.h>
to #include <cerror>
should fix the problem.
Hi, I am working with The Discovery Book and almost completed it. The task I am working on is to get the sensors readings from the itm.txt file and POST those readings on a server.
Now I am successfully able to get the readings from the sensor in the itm.txt but as told in the book the data is combined with the frames(Headers, payload). Now the problem is when I am taking this data from the itm.txt all unwanted data is coming with it.
And I am getting readings like this.
"\u0003x = \u0001-\u000230\u00013\u0003 y =\u0001 \u000218\u00012\u0001 \u0002z \u0002= \u0001-\u000231\u00010\u0002 t\u0003heta\u0001 \u00012\u0001.\u00016\u000200\u000268\u00018\u0001",
Whereas I want data to be in this form
x = -303 y = 182 z = -310 theta 2.600688
x = -297 y = 181 z = -312 theta 2.59427
How I can do that using the itm crate. I am stuck here and finding no way, already discuss this with some experts on Stackoverflow
I am expecting an answer to solve this. Thanks
STM32CubeIDE has a feature that shows the received time of an ITM data,
and it seems to be provide a convenient way for profiling embedded apps.
I thought this feature could be useful when added to the itm-dump
tool.
I'm not an expert with ITM or embedded stuff, so I first wanted to ask whether this feature would fit well with the itm-dump
tool.
I can try implementing the feature in the near future.
Reference
Thank you for reading ๐ฆ
I recently published itm-decode before stumbling upon this crate just now. Comparing the two after a cursory dive, itm
seems a bit more general with its application of traits; itm-decode
has a more granular error enum, to help with trace streams that diverge from the specification; #34 is being implemented, and an ITM encoder may eventually be implemented for testing purposes with some other tools I'll be implementing as part of my master's. I have yet to compare the test benches. bin/itm-decode.rs
shares some features with itmdump
.
Perhaps the crates should be merged?
Hi,
I am following this (tutorial)[https://docs.rust-embedded.org/discovery/03-setup/index.html] where we are told to install cargo install itm
. But this installation fails with the error:
Compiling synstructure v0.12.3
Compiling chrono v0.4.10
Compiling backtrace v0.3.45
error[E0433]: failed to resolve: could not find `__rt` in `quote`
--> /home/ycourvoisier/.cargo/registry/src/github.com-1ecc6299db9ec823/failure_derive-0.1.6/src/lib.rs:107:70
|
107 | fn display_body(s: &synstructure::Structure) -> Result<Option<quote::__rt::TokenStream>, Error> {
| ^^^^ could not find `__rt` in `quote`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0433`.
error: failed to compile `itm v0.3.1`, intermediate artifacts can be found at `/tmp/cargo-installSgNG82`
Caused by:
could not compile `failure_derive`.``
Since cargo install backtrace
leads to no where I thought the issue should be addressed here.
I am working on
I think that the Cargo.lock
file that's published with the 0.3.1 release commit is out of date as I'm running into problems packaging this tool at that version for nixpkgs
:
I've resorted to applying a patch to the repo when the source is fetched from GitHub for compilation, but it would be cleaner to be able to build from a release with an up-to-date Cargo.lock
file.
For context, I'm just trying to package this tool so that I (and others) can go through the Discovery book on NixOS without having to do anything more than installing the package via the system package manager. Nix has certain assumptions around how packages should build, one of them being that build processes shouldn't update lock files during a build, which is why I'm running into this issue originally (I'm fairly certain).
Thanks for making this tool and the Discovery book available :)
I'm trying to figure out how to add a feature to itmdump
, which would imply knowing where the source is. Directions and the readme suggest that it is here -- but I see a commit (0d7db91) from Jan 2019 (!) removing it without comment? And yet appveyor.yml
still references it?
Anyhoo, I'm confused -- perhaps the README should be updated?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.