Git Product home page Git Product logo

Comments (6)

Candas1 avatar Candas1 commented on May 24, 2024 1

I am not sure you can compare RTT and SWO like that for this use case.
RTT is basically working like the Variable Viewer, you are polling the memory in an asynchronous way.
With SWO you are pushing the data out in a synchronous way.

from stmviewer.

klonyyy avatar klonyyy commented on May 24, 2024 1

Ok, but again this has a more of a Variable Viewer-like application than Trace Viewer. You have to know that Trace Viewer is not about sending strings, but rather utilize the bus as efficiently as possible with single bytes used as flags to describe logic levels. And since RTT is also implemented in target software it is less convenient, more intrusive, and it is impossible to be more efficient than SWO in this task since the timestamps are added on the level of hardware peripheral, not software.

from stmviewer.

klonyyy avatar klonyyy commented on May 24, 2024

Could you elaborate and provide some more info why is it more efficient in the way SWO is used in Trace Viewer?

from stmviewer.

hongshui3000 avatar hongshui3000 commented on May 24, 2024

image
https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer/
RTT would be better, parsing RTT data would be a bit difficult

from stmviewer.

klonyyy avatar klonyyy commented on May 24, 2024

I don't think it would be better than SWO in the way it is used in Trace Viewer. This is not only about the update rate, but also the way the data is sent compared to RTT. SWO is synchronous, meaning you do not wait for the debugger to poll for RAM data. When you make a register write a sample is created with a realtive timestamp attached to it and then sent using SWO. This is why it is a great tool for measuring performance of functions/interrupts, since you can be sure about the time each sample was created (as opposed to Variable Viewer or RTT which are asynchronous and you only see the timepoints the RAM memory was sampled by the debug probe).

from stmviewer.

hongshui3000 avatar hongshui3000 commented on May 24, 2024

RTT does require polling to get data, but SWO requires the MCU to put the characters that need to be output into the register and wait for the transmission to complete, which may block the program during this period. The biggest difference between RTT and SWO is that the sending buffer becomes larger. RTT can also add time information to the data frame that needs to be output. Of course, the processing will be more complicated than SWO.

from stmviewer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.