cancel
Showing results for 
Search instead for 
Did you mean: 

Remote STM32 application monitoring with STM32CubeMonitor webinar Q&A and resources

Tilen MAJERLE
ST Employee

Following our STM32CubeMonitor webinar on April 13th, 2021, here are the list of resources and list of Q&A posted as separated answers.

Webinar website: https://www.st.com/content/st_com/en/about/events/events.html/stm32-application-monitoring-with-stm32cubemonitor-webinar.html

Webinar on-demand (watch recording): https://www.st.com/content/st_com/en/premium-content/premium-content-remote-stm32-application-monitoring-with-stm32cubemonitor.html

STM32CubeMonitor page: https://www.st.com/en/development-tools/stm32cubemonitor.html

Attached STM32 demo project and technical slides presented during the demonstration.

Below are the questions and their respective answers

1 ACCEPTED SOLUTION

Accepted Solutions
Tilen MAJERLE
ST Employee

Is there a possibility to make a computation over the variables in real time and then present results in some chart or gauge?

Yes, there is a "post processing" function to perfom computation on variables and data manipulation with Node-RED is also possible before it is printed or displayed on chart

Is there a way to visualize a non static private member variable of a class?

If you know its memory address in RAM, then it is possible. However it may be very difficult to get them, unless you manually know its address (or offset from class instance)

Is there an alternative if the requirement requires full wireless?

The SWD ST-link connection requires wired connection.

Is there an API available for CubeMonitor to have access to the variables for automatic testing

There is no CLI API or external API, but an automated test could be done inside CubeMonitor. It is also possible to use network connection to integrate the tool in a test process.

Is there any documentation or examples as how to create different firmware examples that will then work with the Cube monitor?

there is no official example, but with STM32CubeIDE, juste create a new project for your target, add a global variable and build in DEBUG mode.

Is there any movement to allowfor direct connection to the micro controller without the need for an STLink - it seems quite limited by this right now to development only.

To read/write data from/to STM32 memory, supported probe is only ST-Link. It can be any ST-Link version, preferred is V2 or V3. UART or USB CDC VCP can be used to communicate like with serial terminal

Is there any possibility to send all data to the cloud over CubeMonitor? For example to Azure?

Yes, TCP connection can be started and then data can be transmitted to cloud. Alternatively, it can be done through MQTT channel

Is there more examples on how to use STM32Cube Monitor?

The instructions are in CubeMonitor Wiki (menu/help/wiki or https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:STM32CubeMonitor_overview). There is a short video getting started : https://www.youtube.com/watch?v=bTJhqHWniZE and the more complete video from the webinar.

It is possible to setup Monitor as BLE sniffer?

No, there is no BLE sniffing capability

May the latency introduced in an application be predicted by IDE?

Latency in the application is very low, as there is no code change, only some debug access to the bus.

Regarding the custom variable. is also possible define custom variable like struct pointer like the live expression on the normal debugger

The tool will not be able to evaluate the content of the struct if it is global.

So it is possible to use the dashboard without st-link / SWD over UART and access same variables than via SWD?

To read/write data from/to STM32 memory, supported probe is only ST-Link. It can be any ST-Link version, preferred is V2 or V3. UART or USB CDC VCP can be used to communicate like with serial terminal

Thank you for a very interesting presentation! I didn't know ST offered a tool such as this! Is it a new product?

Yes the tool has been release last year

There is any limit on how many items are in the dashboard?

The tool can handle hundreds of variable, but the dashboard must be organised to display it. It is difficult to wee a lot of variable in a chart, but if data are logged in a file or processed in a flow, then it is fine. Please keep in mind that bandwidth is shared, so with 100 variables, it is difficult to have high refresh rate.

To see the data remotely, Does STM32 needs local gateway such as computer or it can use WiFi as well?

STM32 must be conencted with ST-Link to local computer/gateway. then smartphone can monitor by using wifi to conenct to the gateway

What about using CubeMonitor in noisy environments? What happens to data-aquisition if connection to MCU lacks or is disturbed by EMI/noise?

Some data may be corrupted, or acquisition may stop with an error. In this case lowering the speed and redcing conenciton between probde and target should help.

What are the supported network protocols?

STM32cubeMonitor embeds node-RED default nodes : Mqtt, Http, Websocket, TCP, UDP.

What features need to be compiled into the application for CubeMonitor to work?

Nothing, it is just required to use global variables for monitored variables

What gateway are you referring to for deployment?

The gateway is another name for the computer running STM32cubeMonitor. It acts as a gateway because its manage the acquisition of data on the target, and provides a connection for local or remote dashboard monitoring. The gateway is usualy near of the target, connected with ST-link or serial.

What kind of sample rate can you achieve compared to STMStudio?

STMStudio and CubeMonitor have similar sample rate

What possibilities are there for customising the design and layout of the monitor dashboard? Do you envision it to be possible to develop full application within the monitor framework?

It is possible to customize the dashboard and organize the layout, also to create rich flows to provide a complete app. For STM32WL series, the RF test application is a CubeMonitor flow.

When I use Monitor, I often get several variables that jump to zero, then they jump back to their real value. When I put a breakpoint in the app, the values are not really going to zero. I think somehow Monitor is sometimes passing a zero when the value is not really zero. I have set my firmware to produce the value every 20ms and I have set monitor to read the value every 50ms. Nothing seems to help. Do you have any ideas how I get rid of these false values?

When the core is stopped, there is no clock, and the values returned are 0. This zero may occur because the system is sleeping or in WFI.

Where are the slides for the practical demo?

The demo has been recorded, it is available here : https://www.st.com/content/st_com/en/about/events/events.html/stm32-application-monitoring-with-stm32cubemonitor-webinar.html

Which debug probes are supported?

Any ST-Link debug probe in SWD or JTAG configuration

Which java versions does CM require to run ? Will openjdk be supported. Thanks Martin

CubeMonitor does not use java but use javascript, and it is already embedded in the tool.

Why would anyone want to build their own monitor when they can just debug and watch variables with the CubeIDE and much more, more easily?

Some developers prefer to have a dashboard view which could be more synthetic than the view in IDE. the tool opens a lot of possibilities to process data, send it to another server, or trig specific actions. It is also possible to include inputs from serial port.

Will a version be made that could access the variables via an interface besides JTAG/SWD such as Ethernet or serial?

The ST-Link is used to have direct access to the memory without changing the embedded application. Access through serial or ethernet does not provide direct access to memory, an application sending some data over ethernet or serial is required.

View solution in original post

5 REPLIES 5
Tilen MAJERLE
ST Employee

Are there any costs for using cube monitor?

Free of charge - No Royalty

Are there any external plugins for CubeMonitor, for example to have advanced diagrams?

Yes, the nodes from Node-RED community can be added in the palette. Please see the wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_add_external_nodes_in_the_palette

Are there any special things I have to consider when using JTAG instead of SWD?

In general no, however probe must be ST-Link

Are you using Node-RED?

Yes

Can 3rd party JTAG probes be used? Or is is required to use ST-Link?

To read/write data from/to STM32 memory, supported probe is only ST-Link. It can be any ST-Link version, preferred is V2 or V3.

Can arrays also be monitored easily?

The tool does not have quick solution to monitor a complete array. Arrays can be monitored as set of individual variables (select all elements of the array). It is also possible to build a specific flow to handle some array as a buffer, bt it is more complex.

Can be SMT32Cube Monitor used with uVision Keil projects?

Yes, Monitoring environment does not depend on toolchain. CubeMonitor can accelerate monitoring by importing generated executable file from any standard toolchain for ARM Cortex-M (Keil, IAR, CubeIDE, GCC) or let's you write custom address manually. The executable file extension may be .elf, .out (IAR), .axf (Keil).

Can Cube monitor analyze tasks execution of RTOS

There is no mecanism to analyse RTOS tasks activities. STM32CubeIDE is more suitable to debug RTOS.

Can Cube monitor work with STM32 sleep mode?

during sleep mode, the debug bloc is not able to access the memory and returns 0. So the tool can not be used during sleep mode.

Can CubeMonitor and IDE debugging run at the same time?

Yes, through ST-Link server that allows multiple clients to connect to ST-Link hardware

Can Cubemonitor be used when not using HAL libraries ?

CubeMonitor does not care for development process. It only needs to know from which address to fetch the data.

Can CubeMonitor communicate to an STM microcontroller over a communication other than USB.

For Monitoring only SWD or JTAG protocol, but UART can be used to read/write data manually

Can CubeMonitor read its configuration from version control system, like from github?

The flows are stored as .json files in the tool folder, so it is possible to use configuration management. When the "project mode" is activated, the flows are stored in a local git and can also be synced with a remote repo.

Can CubeMonitor write data to STM32?

Yes, it can write to memory or registers. The "write panel" is designed for this purpose. Wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_write_variables

Can dashboards be run as standalone executables, when providing to users who should not be allowed control of the nodes?

The dashboard can not be provided as standalone tool, but it is possible to lock the flow with a password, so user will not be able to modify it.

Can data be saved into an excel or notepad file at the same time?

Data can be saved in the ""processing ""node in .stcm format. It is then possible to reload the file in a chart, or to convert it to csv. It is also possible to edit the flow to write in a specific format. 

 Wiki how to log data : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_record_and_replay_data

Wiki to generate scv or other format : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_log_data_in_a_.csv_file

Can I also monitor non-global variables?

The variable must be global because the tool need to know the memory @ of the variable (static can be added manualy)

Can I connect CubeMonitor with another instance of NodeRed, which is hostet on a server?

There is no direct connection mechanism, but it is possible to use the MQTT, HTTP, or other network node to interconnect two node-red instances

Can I monitor the CPU/memory utlization of the MCU?

No, there is no option to see CPU/memory utilization

Can I read\write a variable value in structure?

Yes, if the structure is a global variable

Can I use cube monitor on ARM computer running Linux?

Yes for MacBook using M1 core.

Can it be possible to consume RELEASE builds, or DEBUG is mandatory for CubeMonitor?

Usually, the debug information are not included in the .elf of RELEASE version. So the tool will not be able so find the variable adresses. You need to add the debug information in the release ELF. (in Project /properties/ C C++ Build/Debugging for STM32CubeIDE)

Can it run as a gateway on a Raspberry Pi?

No, the tools does not support Raspberry Pi

Can the dashboard be controlled from multiple computers at the same time? Will the others be automatically updated?

The node-RED dashboard is specified to handle one single client. If multiple computers are connected, the dashboards may not be refreshed properly.

Can the monitor be run headless in linux?

When the tool starts, there is always the UI displayed. But if you launch the tool by script/CI, you don't need screen for the computer, and you can access remotely to design mode and dashboard

Can the monitor connect via UART with a proprietary protocol, instead of SWD?

Yes, the "serial" nodes are already loaded in the palette, ready to be used. It is also possible to use SWD and serial at the same time.

Can this tool profile the time each subroutine takes on the mcu, such that we can make it run faster?

The tool does not have visibilty off the code execution, so it can not be used to profile the application. If you want to monitor the use of some functions, it is possible to add global variables, and increase it when the function is entered. Then it is possible to see how many time this function is used.

Can waveforms be measured with cursors as on an oscilloscope?

There is no cursors, but with the "show points", you can get the exact time and value of one point. It is the possible to compute manually the difference.

Can we access class variables (if using c++) with CubeMonitor

With version V1.2.0, it is possible for class defines as global.

Can we finded ST web site Cube_monitor samples ?

there are 2 samples included in the tool, in the menu, go to "Import"/"Library" for STM32 samples. Some examples are also availaible in the wiki and in st community.

Can we make an executable app for nodeRED app ?

STM32CubeMonitor is an executable app embedding node-RED. To use an existing flows people need to install CubeMonitor and then import the flow file(.json). It is not possible to build a new exe application.

Can we move the icons displaying information around on the dashboard for side by side displayed?

Dashboard is configurable for application monitoring. It can be used default or you can manually position it for your needs. See wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:Frequently_Asked_Questions#How_to_layout_my_dashboard_UI_with_the_graphical_editor_-3F

Can we test final product by cube monitor?

Yes, if you can connect to it with SWD or JTAG. RDP must be disabled to be able to read memory.

Can we use monitor with multi-core STM32H7 series of microcontrollers?

Yes, it is possible with single ST-Link V3 unit

Can we use several ST-Links to monitor more than one MCU

Yes, several ST-Link instances are possible to monitor multiple STM32s at the same time.

Can we use ST-link V3 ?

Yes, any ST-Link version is supported. For maximum user experience, ST-Link V3 is advised

Can you confirm that the cube monitor can only be interface with USB and not serial UART? Or what was the limitations with UART?

Serial UART or USB CDC VCP can be used to communicate like with serial terminal. (using the ""serial"" node already loaded in the palette) 

To read/write directly data from/to STM32 memory, supported probe is only ST-Link.

Can you have a user input field to dynamically add memory addresses to the graph?

No, it is not possible, the new address must be added in the design mode and then acquisition restarted

Can you mix a Linux server with a Windows PC running the Dashboard?

Yes, the server can run on Windows, macOS or Linux, and dashboard on any device with a webbrowser.

Tilen MAJERLE
ST Employee

Can you run the cubemonitor on a custome STM32 board?

you can use STM32CubeMonitor to monitor a customized STM32 board. (using an ST-Link probe to connect the board to the computer running the tool)

Charts are very limited in size, especially on large monitors. STMstudio is much better in that case. Will there be an enhancement soon?

The size chart can be changed. For large display, it may be required to change the dashboard group width first and then the chart will be larger. See the wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:Frequently_Asked_Questions#How_to_layout_my_dashboard_UI_with_the_graphical_editor_-3F

cubemonitor is in cubeide or we have to install it ?

It is not included in cubeIDE, the tool can be downloaded from www.st.com/stm32cubemonitor and installed.

CubeMonitor is officially supported by ST or Node-Red comunity?

STM32CubeMonitor is build by ST and based on node-RED. You can get support from stCommunity, there is a topic for STM32CubeMonitor( https://community.st.com/s/topic/0TO0X000000x33lWAA/stm32cubemonitor ). For general topics related to node-RED, there are also a lot of information in node-RED community.

Did the "clear" topic dictate the action that would occur when the CLEAR button is clicked?

Yes, this information is sent in the node-RED message when the button is clicked. When the chart receive a message with this topic, the chart clears all data and display.

Do I need special setup of Monitor application to get it visible in local network?

STM32CubeMonitor opens his port on the computer at startup, so it will be visible on the local network directly. The access can be disabled in the settings if required.

Do interrupts have an impact on the visualization of the variables on STM32CubeMonitor?

No, the interrupts should not have an impact, as long as the target is not stop in WFI

Do you plan to continue developing existing monitor software tools?

Yes, ST continue to improve STM32CubeMonitor and keep it up to date with node-RED framework. Last update was done in April 2021.

Do you think the UIs able to share to customers full commercially ? Can we encounter any security problems ?

CubeMonitor has been designed to debug and monitor applicaiton for development of STM32 products. It can be used for demo of applications, but it is not designed to be deployed as main UI for end customer.

Does CubeMonitor have impact to the microcontroller speed?

The debug block will grab some memory bus cycle to read the memory, so there is a light delay on the execution, but as the number of memory read for debug is small compared to bus capacity, the impact is very low.

Does CubeMonitor work for all STM32 microcontroller families?

Yes, all STM32 microcontrollers are supported

Does CubeMonitor work with activated Flash Readout Protection?

No, if Readout Protection is activated, it is not possible to monitor target.

Does it work together with FreeRTOS/AzureRTOS as well? Can I also access RTOS internal variables?

It works with projects using RTOS, but is not aware of OS internal variables and tasks. Only Global variables are monitored.

Does the (Jtag based) Data visualization has any effect on the performance of the FW running on the device? How does it handle EMI on the Jtag connection?

The debug block will grab some memory bus cycle to read the memory, so there is a light delay on the execution, but as the number of memory read for debug is small compared to bus capacity, the impact is very low. For EMI, the swd conenciton may have an influence, for some use case, using an isolated st-link and lower swd speed will be more reliable.

Does the monitoring also work if code is executed from RAM (i.e. D1)?

The tool is not monitoring the code execution, it is monitoring some addresses in RAM. So code executing in RAM will not prevent to collect data.

Does the tool reload variable addresses when elf-file changes?

The tool does not reload the addresses when elf-file is changed. The udpate is done when the user opens the "edit exe-config" menu with the list of variables.

For a monitor run, is there only the CubeMonitor + STLink and the elf file needed on the tagret PC or any more files?

No any additional files are necessary for monitoring.

Has CubeMonitor API which allow to make test cases by testing code?

It is possible to customize the flow to create some test flows. It is also possible to add javascript code in some "function" nodes.

Hello, I would like to ask if the registers can be protected, so that only variables and no registers could be accesed through the CubeMonitor. Thank you.

There is no protection mecanism to protect specific ressources. It is possible to disable SWD to protect all access

Hello, Is it possible to connect to my peripheral over the internet, for example for remote support or service ?

The connection is possible if the IP address is reachable on the network. If going through internet, it is advised to use a VPN to put in the same network the gateway and the remote device.

Hello. Any chance regular "file open/new file" sheme will be added in the future? Current is a real pain to work on different PCs.

Instead of open/save, the function to use are iport/export. This should allow to easily share flows between computer. It is also possible to copy the flow, or activate the project mode to manage multiple projects.

Is it necessary to connect SWO Output from microcontroller to ST-link V2 for monitoring?

Not necessary, monitoring works through standard SWD debug port

How can I save a design? How can I start to write a new design?

The design is saved when the deploy button is clicked. To start a new design, "export" your flows to have a backup, then delete the exisitng nodes and start to design. If you need to switch between multiple projects, it is better to activate the "project" mode.

How can we add(import) other node block in Monitor?

Yes, it is possible to use additionnal nodes. The tool alreadt provided common nodes, additionnal nodes can be added. See wiki page : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:Frequently_Asked_Questions#Is_it_possible_to_add_external_nodes

How did you find the IP address to enter into the phone?

The IP adresse to use is the IP adress of computer running cubeMonitor. The phone must be on the same network to be able to communicate with the computer. (works over VPN)

How do you setup a button to write a fixed value to a variable?

Wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_write_a_variable_from_flow

How does Cube Monitor work? Does it need additional code running on MCU?

See introductio in wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:STM32CubeMonitor_overview

How does this tool compare to STM Studio? Does it relies only to debugger or it can be used also on other communication channel (such as serial line, etc...)? Is it possible to fill a buffer and then show it? Thank you

STM32cubeMonitor is an evolution of STMStudio. It use the same mecanism to collect data from target memory, but it adds the support of multiple probes, the capabilty to perform remote monitoring, possibility to use other commucation channel with the target like UART, and also strong capability to communicate with external servers (HTTP/MQTT,...) with the node-RED framework, it is possible to configure easily a customized application. The evolutions are done on STM32CubeMonitor.

how exactly should the parameters be defined or declared in STM-IDE?

The variables to monitor must be global variables, and the build should be configured to include debug infomation in the symbol file.

How fast can the data aquisition be?

The acquisition speed can be configured in the "variable" node with the "sampling frequency" parameter. this will give the acquisition rate target, and the tool will try to reach the requested speed. wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_modify_frequency_of_acquisition

It is difficult to give an estimate of the maximum value because the acquisition rate is linked with many parameters. The first factor is the number/size of variables. Other factors like SWD speed, computer speed, USB latency also have an impact. 

On windows 10 pc, the value is usualy between 500 and 1000 samples per seconds. 

Please, see the details in this wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_optimize_acquisition_speed

How many devices you can monitor per session?

There is no hard limit implemented in the tool, but each ST-Link need one USb port on the computer. It should be possible to have 10 probes.

How to manage multiple projects?

It is recommanded to activate the node-RED project mode. It requires to have git installed on the computer, but allows to create new project, to switch between projects, and add version control. It is not activated by default, but if user has more than one project, it is better. See: https://nodered.org/docs/user-guide/projects/

Tilen MAJERLE
ST Employee

How to monitor fast changing variables? Like an oscilloscope, a trigger starts sampling to a RAM, the n this frame is downloaded and shown.

It is possible to use snapshot mode to dump some data at a given point. Then the dump will be collected by CubeMonitor and displayed. It allows to have synced data collection.

How would I place and configure a slider?

The slider node is available in the palette, drag it in the flow, and connect it to other node. there is an exemple to write a variable from a slider in the wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_write_a_variable_from_flow

i already played with cubemonitor. we had it running on one machine. then we tried to port run in on another machine. this was not successfull. cube monitor was using absolut file paths. is this changed? will it be changed?

Exept the path of the executable file, there should not be issue if you use the export/import menu.

I noticed that Bool type variables in my application is not shown properly on the list.

The bool type from <stdbool.h> is supported since version 1.1.0.

I would like to display an FFT of my signal in real time, which changes every second - can I display an XY plot with being the frequency of the FFT and Y being the magnitude of the FFT - can the plot overlay the previous plot so that I have a realtime spectrograph?

It would be possible to extract a buffer of data, compute the fft, and then display in a X/Y chart. but there is no predefined flow for this, so user need to tweak the flow and make some developement.

If my STM32 runs in a sensor remote from my PC and my connection to the PC is e.g. via serial bluetooth (or other wireless connection), is there a way to use the monitor wirelessly instead of via USB ?

If the bluetooth connection creates a virtual serial port on the computer, then CubeMonitor can send/receive data through this port.

I'm familiar with the older STMStudio but not with Node-Red. Is a Wiki available, mainly for the Node-Red graphical environment?

Yes : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:STM32CubeMonitor_overview

Is CubeMonitor using the Trace capabilities of the ARM Cores internally? (ITM). Are there any plans for supporting ETM as well?

ITM, ETM and SWO pin are not used by STM32cubeMonitor

Is it only standalone or will it be integrated in the future with cube ?

There is no plan to integrate with CubeIDE

Is it possible to "monitor" GPIO settings? (input/output/AF)

Yes, it is possible to read and write the GPIO registers. You can monitor a pin, but also turn it on/off

Is it possible to add break points and read the variables?

No, the tool does not interact with code execution. The variable are read while code is running, in real time. If you want to get data at a specific point of the code, it is advised to use the snapshot feature. In this case, applicaiton is modified to dump the data at the expected point.

Is it possible to configure Cube Monitor do refresh visualisated variables based on user interrupts or define polling time ?

It is possible to configure the acquisition rate or to use triggers.

Is it possible to flash a target device remotely using CubeMonitor?

No, there is no flash functionnality in the tool. Code should be loaded by the IDE or STM32CubeProgrammer

Is it possible to import the CubeMonitor to an existing Node-Red installation?

No, it is not easy. The tools packs node-RED with ST additionnal nodes and the drivers for ST-link. STMicroelectronics nodes are not availaible in standalone.

Is it possible to monitor Serial data transfers such as SPI and I2C?

No, there is no direct monitoring of SPI or I2C bus.

Is it possible to monitor the TIM1 Counter in stmCubeMonitor?

Yes, it is possible to access to regsiters directly, so you can display the TIM1 value easily in the dashboard

Is it possible to monitor the usage of CCRAM and RAM?

No, the tool can see the memory, but cannot monitor the usage.

Is it possible to run cube monitor gateway on Raspberry pi? or other arm based computer?

No, the tools does not support Raspberry Pi. The ARM based computers are not supported (Except macBook with M1 processor which is supported)

Is it possible to run CubeMonitor on microcontoller by itself if it is powerful enough?

CubeMonitor runs under Windows, Linux or MAC-OS environment and is not targeting to run on the microcontroller. Its purpose is to monitor active application different perspective without modification of the running code

Is it possible to run from a command line?

there is no CLI interface in STM32cubeMonitor

is it possible to save dates read from cube monitor into a file on PC for example

Node-RED supports different blocks that allow you to modify string before it is saved to file. One of the options is also date modification

Is it possible to scan the CAN bus?

No, there is no CAN bus support.

Is it possible to secure the nodered connection with username/password

Yes, it is possible to secure the flows and to secure the dashboard.

Is it possible to set a trigger, to start data aquisition (similar to oscilloscope) function?

Yes, it is possible to configure trigger. More available here: https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_set_trigger_for_starting_an_acquisition

Is it possible to use CubeMonitor with ARM MCUs from other vendors?

No, CubeMonitor works only for STM32 series

is it possible to use development boards with embedded st-link v1?

The ST-link V1 is not tested on STM32CubeMonitor. The ST-Link V2 and V3 are supported.

is it possible to use other gateway than pc?

Local connection between STM32 and PC is necessary through ST-Link. You can alternatively start TCP connection through NodeRED dashboard and forward your date to cloud and then use this cloud as gateway

Is it viable to use CubeMonitor for testing applications, where a lot of data has to be saved over a long period of time?

It can be implemented, yes, but it certainly has some limits, especially on data throughput. More variables are to be monitored, lower is the frequency of updated variable. Maximum speed can be achieved with ST-Link V3 at 24MHz

Is only elf-file and Monitor needed on target PC?

ELF (or AXF in case of Keil) is a helper file to allow you finding your variables and their respective addresses faster. For successful monitoring, this file is not mandatory, but rather preferred. You can enter known memory address manually.

Is STLINK probe the same as part of NUCLEO board (On-board ST-LINK debugger/programmer)?

Yes, on-board ST-Link can be used for monitoring. Alternatively, you may use standalone ST-Link probe

Is STM32CubeMonitor able to display what a LCD is currently displaying? If not, do you plan to add this feature?

It can retrieve the data if you set its known buffer address

is the Cubemonitor a real time tool ?

Yes, data are fetched in real-time

Is the practical demonstration available as a video?

Yes, recording of the webinar is available here: https://www.st.com/content/st_com/en/about/events/events.html/stm32-application-monitoring-with-stm32cubemonitor-webinar.html

Is the refresh rate high enough to capture 48 kHz audio data?

No, this is much more than the acquisition rate reacheable by the tools. see wiki : https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:How_to_optimize_acquisition_speed

Tilen MAJERLE
ST Employee

Is there a possibility to make a computation over the variables in real time and then present results in some chart or gauge?

Yes, there is a "post processing" function to perfom computation on variables and data manipulation with Node-RED is also possible before it is printed or displayed on chart

Is there a way to visualize a non static private member variable of a class?

If you know its memory address in RAM, then it is possible. However it may be very difficult to get them, unless you manually know its address (or offset from class instance)

Is there an alternative if the requirement requires full wireless?

The SWD ST-link connection requires wired connection.

Is there an API available for CubeMonitor to have access to the variables for automatic testing

There is no CLI API or external API, but an automated test could be done inside CubeMonitor. It is also possible to use network connection to integrate the tool in a test process.

Is there any documentation or examples as how to create different firmware examples that will then work with the Cube monitor?

there is no official example, but with STM32CubeIDE, juste create a new project for your target, add a global variable and build in DEBUG mode.

Is there any movement to allowfor direct connection to the micro controller without the need for an STLink - it seems quite limited by this right now to development only.

To read/write data from/to STM32 memory, supported probe is only ST-Link. It can be any ST-Link version, preferred is V2 or V3. UART or USB CDC VCP can be used to communicate like with serial terminal

Is there any possibility to send all data to the cloud over CubeMonitor? For example to Azure?

Yes, TCP connection can be started and then data can be transmitted to cloud. Alternatively, it can be done through MQTT channel

Is there more examples on how to use STM32Cube Monitor?

The instructions are in CubeMonitor Wiki (menu/help/wiki or https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor:STM32CubeMonitor_overview). There is a short video getting started : https://www.youtube.com/watch?v=bTJhqHWniZE and the more complete video from the webinar.

It is possible to setup Monitor as BLE sniffer?

No, there is no BLE sniffing capability

May the latency introduced in an application be predicted by IDE?

Latency in the application is very low, as there is no code change, only some debug access to the bus.

Regarding the custom variable. is also possible define custom variable like struct pointer like the live expression on the normal debugger

The tool will not be able to evaluate the content of the struct if it is global.

So it is possible to use the dashboard without st-link / SWD over UART and access same variables than via SWD?

To read/write data from/to STM32 memory, supported probe is only ST-Link. It can be any ST-Link version, preferred is V2 or V3. UART or USB CDC VCP can be used to communicate like with serial terminal

Thank you for a very interesting presentation! I didn't know ST offered a tool such as this! Is it a new product?

Yes the tool has been release last year

There is any limit on how many items are in the dashboard?

The tool can handle hundreds of variable, but the dashboard must be organised to display it. It is difficult to wee a lot of variable in a chart, but if data are logged in a file or processed in a flow, then it is fine. Please keep in mind that bandwidth is shared, so with 100 variables, it is difficult to have high refresh rate.

To see the data remotely, Does STM32 needs local gateway such as computer or it can use WiFi as well?

STM32 must be conencted with ST-Link to local computer/gateway. then smartphone can monitor by using wifi to conenct to the gateway

What about using CubeMonitor in noisy environments? What happens to data-aquisition if connection to MCU lacks or is disturbed by EMI/noise?

Some data may be corrupted, or acquisition may stop with an error. In this case lowering the speed and redcing conenciton between probde and target should help.

What are the supported network protocols?

STM32cubeMonitor embeds node-RED default nodes : Mqtt, Http, Websocket, TCP, UDP.

What features need to be compiled into the application for CubeMonitor to work?

Nothing, it is just required to use global variables for monitored variables

What gateway are you referring to for deployment?

The gateway is another name for the computer running STM32cubeMonitor. It acts as a gateway because its manage the acquisition of data on the target, and provides a connection for local or remote dashboard monitoring. The gateway is usualy near of the target, connected with ST-link or serial.

What kind of sample rate can you achieve compared to STMStudio?

STMStudio and CubeMonitor have similar sample rate

What possibilities are there for customising the design and layout of the monitor dashboard? Do you envision it to be possible to develop full application within the monitor framework?

It is possible to customize the dashboard and organize the layout, also to create rich flows to provide a complete app. For STM32WL series, the RF test application is a CubeMonitor flow.

When I use Monitor, I often get several variables that jump to zero, then they jump back to their real value. When I put a breakpoint in the app, the values are not really going to zero. I think somehow Monitor is sometimes passing a zero when the value is not really zero. I have set my firmware to produce the value every 20ms and I have set monitor to read the value every 50ms. Nothing seems to help. Do you have any ideas how I get rid of these false values?

When the core is stopped, there is no clock, and the values returned are 0. This zero may occur because the system is sleeping or in WFI.

Where are the slides for the practical demo?

The demo has been recorded, it is available here : https://www.st.com/content/st_com/en/about/events/events.html/stm32-application-monitoring-with-stm32cubemonitor-webinar.html

Which debug probes are supported?

Any ST-Link debug probe in SWD or JTAG configuration

Which java versions does CM require to run ? Will openjdk be supported. Thanks Martin

CubeMonitor does not use java but use javascript, and it is already embedded in the tool.

Why would anyone want to build their own monitor when they can just debug and watch variables with the CubeIDE and much more, more easily?

Some developers prefer to have a dashboard view which could be more synthetic than the view in IDE. the tool opens a lot of possibilities to process data, send it to another server, or trig specific actions. It is also possible to include inputs from serial port.

Will a version be made that could access the variables via an interface besides JTAG/SWD such as Ethernet or serial?

The ST-Link is used to have direct access to the memory without changing the embedded application. Access through serial or ethernet does not provide direct access to memory, an application sending some data over ethernet or serial is required.

Richard.Chvr
ST Employee

No update since a while, closing the post.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.