FAQ
If you continue to experience any of the issues listed below, please contact us at contact@mcuviewerOpen button under Settings -> General.
License¶
What is the difference between the plans?
MCUViewer free cannot be used in commercial environments and comes with the following limitations:
Limitation on simultaneously sampled variables
Limitation on Recorder variables
Limitation on Trace channels
Limitation on screenshots
No official support in case of issues or setup problems
The
COMMUNITYplan is a non-commercial license without the limitations of the free plan. For commercial useENTERPRISElicense (offline or seat-based) andPERPETUALlicense (bound to one computer, never expire, cover the updates released until the date given in the license) are available. The current plan is shown in the window title and inSettings -> General. Please see the MCUViewer website or contact us at contact@mcuviewer.com to learn more about licensing terms. My perpetual license does not work after updating MCUViewer.
A perpetual license covers the MCUViewer versions released until the date given in the license. If the installed version is newer,
Settings -> Generalshows this in theExpiresfield together with aRenewbutton. After renewing, download the updated license and load it inSettings -> General.
Variable Viewer¶
My variable is not listed in the import dialog.
First, make sure the variable is global, i.e., it has a constant address throughout the entire lifetime of your program. Next, check the type of your variable - if it’s a pointer, it won’t be detected. You can try creating a new variable by right-clicking in the variable table area and selecting
New -> Variable. Type the path to the variable in the*.elf symbolfield (or pick it with the...button) and close the window. If the variable is detected, the address will change from “NOT FOUND!” to a valid address.I’m using a JLink probe and my target resets each time I start the acquisition.
Make sure that the JLink probe SWD speed is not set to too high of a value. Try lower speeds and ensure that the “keep connection” option in the Acquisition window is checked.
I’m using a JLink probe and my target seems to halt for a few milliseconds each time I start the acquisition.
Try selecting a generic device (e.g., Cortex-M4 instead of STM32G474) and ensure that the “keep connection” option in the Acquisition window is checked.
The sampling frequency set in the Acquisition window is not reached.
If possible, try selecting a higher SWD speed. If that’s not possible, you can lower the sampling frequency or switch to the recorder module for high-frequency signals.
I get “Could not connect to JLink error”.
Make sure you have installed the JLink software pack.
I get “Update error. Please check the *.elf file path and parser settings!”.
Make sure the *.elf file path is correct. When the GDB parser is used, make sure the gdb command is correct (
Acquisition -> Advanced -> GDB command). For default GDB on Windows and MacOS it should be./gdb, for system gdb it should begdb(must be added to the path). Ubuntu distribution always defaults to system gdb (gdb), so please make sure it’s installed. Alternatively switch to the built-inDWARFparser, which does not need gdb at all. If you’re working with C2000 *.elf files use theC2000parser (see Acquisition Settings).The import variables dialog shows only the first array element.
Currently the import dialog will show the arrays as “name[0]”. After importing the index has to be typed in manually or the variable can be copied to increment the index.
I’m using a STLink probe and my target is not found - I cannot connect to my target
First make sure that you’re able to connect to the target with other programs such as CubeProgrammer. If the target is detected correctly you can use the STLINK (CUBE PROGRAMMER) debug probe or GDBSERVER. For GDBSERVER probe please see the short tutorial: STM32 OpenOCD example
I’m using serial probe and the update rate is low.
Please see the serial low update rate section for possible solutions depending on the platform you’re running on.
Recorder¶
The recorder module is not detected.
Make sure the correct
*.elffile is selected and that you’re calling therecorderStep()function in your code.The recorder module does not show any data.
First, ensure that the recorder is detected correctly in the Acquisition settings window. If it is detected correctly, make sure that the mode referenced in Recorder usage is set to
runso that the trigger is not needed for acquisition.
Trace Viewer¶
I see no data and get a timeout error.
Make sure that the SWO output is active-connect a logic analyzer or oscilloscope to see if it gets activated after pressing the start button. If the SWO is not active but there are no errors, please contact us at contact@mcuviewer
.com. My MCU seems to halt each time I start the acquisition.
This is a known Trace Viewer issue that will be resolved in future releases. If this is a blocking issue, please use the Recorder module instead.
I get a lot of error frames and red markers on the plots.
Most likely, the debug probe is not fast enough for the SWO output settings. Try increasing the prescaler and make sure the core frequency is set correctly. After the first start the
SWO clockfield shows the maximum SWO clock of your probe - it turns red when the SWO clock is too high.I get a lot of delayed frames and yellow markers on the plots.
Most likely, you’re reaching the bandwidth limit of your probe. You can try reducing the prescaler, as long as there are no error frames.
General¶
MCUViewer sidebar icon is not showing up on Ubuntu.
Currently MCUViewer is compatible only with X11 environment. You can switch to X11 environment on the login screen by clicking the gear icon in the right bottom corner.
My STLink is not detected on Ubuntu although it’s plugged in.
Make sure STLink udevrules are present in
/etc/udev/rules.d/. Callsudo udevadm control --reload-rulesandsudo udevadm triggerto reload the rules.I’m using probe X and MCU Y. Is it supported by MCUViewer?
Currently MCUViewer is natively compatible with JLink and STLink probes. If you’re using a different probe please use the GDBSERVER probe setup described in the Acquisition Settings page. In case you’re using a less popular MCU the Serial Driver might be the best option.
How do I open a project from an older MCUViewer version?
Open the *.mcuvproj file with
File -> Open. MCUViewer 1.3.0 converts it to the new *.mcuv format and saves it next to the original file, which stays untouched. When a project saved by a newer MCUViewer version is opened, settings unknown to the current version would be dropped on save, so autosave is turned off for this project until you save it manually.
Known issues and limitations¶
Known issues are always listed in respect to the latest version of MCUViewer.
RTX A2000 graphics card memory leak.
Some users have reported that when using the RTX A2000 graphics card, MCUViewer will leak memory causing it to eventually crash. The workaround is to use the integrated graphics card instead. If you are also affected please give us a message at contact@mcuviewer
.com. C2000 family *.elf file parsing issues.
Due to TI’s custom DWARF extensions the
GDBandDWARFparsers have problems parsing variables withconst/volatilekeywords. Please use theC2000parser (Acquisition -> Advanced -> *.elf parser), which uses TI’sofd2000tool - MCUViewer suggests it automatically when a C2000 *.elf file is selected.Cube programmer STLink probe is slow on MacOS
This issue is only present on MacOS when STLINK (CubeProgrammer) is selected. It’s under investigation for a fix. As a replacement please use the GDBSERVER