Close
0%
0%

MCUViewer

Microcontroller non-intrusive realtime data visualizer

Similar projects worth following
MCUViewer is a software tool that can be used to visualize variables values in realtime using a debug probe. You might be familiar with STMStudio or CubeMonitor, tools from ST that serve a similar purpose. If there are at least two similar tools, why bother to create my own? Simply because STMStudio is deprecated and works only on Windows, and Cube monitor takes forever to setup with even the simplest graphs.

MCUViewer is oriented for ease of use and quick setup process. There are still some functionalities it lacks, compared to STMStudio, however I'm constantly working to improve it. Currently I'm working on a large update making use of the SWO output that enables new ways of debugging live embedded applications so stay tuned for more!

You can try it right away using the installers in Releases page: https://github.com/klonyyy/MCUViewer

Any feedback is welcome! 

  • v1.1.0 update

    Peter Wasilewskia day ago 0 comments

    Recently a new MCUViewer version was released. The update introduced some long-anticipated features:

    - XY plots - for visualizing variables related to other variable, not only time

    - Plots grouping - allowing for quickly switching views 

    - Advanced variable config - post processing, fixed point support, ability to read any memory address

    Make sure to give it a try! Here's a little teaser GIF: 

  • Full JLink support - MCUViewer

    Peter Wasilewski09/21/2024 at 10:32 0 comments

    Up until now, STMViewer was limited to supporting the STM32 microcontrollers. However, I wanted to make it more universal and extend its capabilities to other microcontroller families. In pursuit of this, I reached out to SEGGER company. After some discussions, I was fortunate to receive official support - they provided me with access to their SDK and two JLink probes to aid the development of MCUViewer.

    With their backing, I began integrating JLink support into the software. The latest update focuses on the TraceViewer module, which now supports JLink probes for real-time trace visualization and debugging across a wider variety of microcontroller architectures. 

    This is a significant improvement, allowing to easily switch between different probe types (STLink or JLink) and microcontroller families without compromising functionality.

    Since now we're not limited to STM32 family it was natural to rename the program to MCUViewer :)

    If you'd like to try it out here's the Github page: 

    https://github.com/klonyyy/MCUViewer

  • Trace Viewer Module

    Peter Wasilewski09/18/2023 at 17:09 0 comments

    Trace Viewer is a new module that is implemented in the STMViewer software. It allows to visualize SWO pin trace data on digital or "analog" plots.

     If you ever used GPIO pins to confirm a timer interrupt frequency, check how long a function takes to execute, or diagnose preempting interrupts you know how it's like to pull out an oscilloscope or logic analyzer and solder some wires to the prototype. It's quite annoying to set up, takes a lot of time, and you cannot easily connect mulitple channels. The Trace Viewer uses only and ST-Link programmer and it'a ability to read SWO output. Thanks to a trace peripheral in Cortex M3/M4/M7/M33 cores it is possible to measure sub-microsecond time periods (depending on your System Core Clock). 

    To create a datapoint on a plot you simply write a registers of the ITM peripheral like so: 

    ITM->PORT[x].u8 = 0xaa;

    As you can see this method is almost non intrusive when we consider the time it takes for the micro controller to execute it. After that the trace peripheral takes all the work, creating relative timestamps and attaching them to bytes that are later sent through SWO pin. 

    If you're still interested check out the README.md for more info on how to get started!

View all 3 project logs

Enjoy this project?

Share

Discussions

Mike wrote 09/05/2023 at 16:48 point

I've avoided the STM32 platform. But I've been eyeing it for a while now and this project makes me think that diving in will be easier that it was before. 

  Are you sure? yes | no

Peter Wasilewski wrote 09/05/2023 at 17:17 point

Glad to hear that! I think STM32 is the easiest to start with when we consider 32-bit families. Lots of support on the internet as well :) 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates