Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

Follow+Star Public Account, don’t miss out on exciting content

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

Author | strongerHuang

WeChat Official Account | Embedded Column

STM32 is recognized by many developers, and its powerful ecosystem plays a key role. This article describes various software tools in the STM32 ecosystem, including some technical details.

1

Overview of STM32 Ecosystem

STM32 provides a complete set of development tools and software packages needed for development. Below is a diagram to understand the tools and software in the STM32 ecosystem from a global perspective:

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

It is mainly divided into two categories:1. Software Tools: The left part includes STM32CubeMX, CubeIDE, Cube Programmer, Cube Monitor, etc.2. Embedded Software Packages: STM32 CubeMCU Packages and extension software packages CubeExpansions.Features of STM32Cube Ecosystem:

  • Free to use;

  • Consistent interfaces for easy portability

  • Customizable and expandable

  • Easy to use and understand

  • Saves development time and costs

  • ······

(Of course, these are my own summarized features, and there are many more, welcome to add.) Below, I will further describe the content of each tool and software package in detail.

2

STM32CubeMX

STM32CubeMX was launched in 2014, but the early versions had more bugs and were less convenient to use compared to now. Additionally, users were accustomed to the standard peripheral library, so they were not receptive to STM32CubeMX initially.

Therefore, to promote STM32CubeMX and encourage more users to adopt it, ST gradually stopped updating and maintaining the standard peripheral libraries for various MCUs in 2014 and 2015, guiding users to switch to the HAL and LL libraries.

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

STM32CubeMX is a graphical software configuration tool that can generate STM32 initialization code projects using a graphical wizard.

Features of STM32CubeMX:

1. Intuitive selection of STM32 microcontrollers (MCUs) and microprocessors (MPUs).

2. Rich and user-friendly graphical interface:

– Automatically resolves configuration conflicts

– Peripheral and middleware functionality modes with dynamic validation of parameter constraints

– Dynamic validation of clock tree and configurations

– Power consumption prediction

3. Generates initialization code projects, including: EWARM, MDK-ARM, TureSTUDIO, SW4STM32, etc.

4. Generates Linux device trees for some MPUs.

5. Can run independently on Windows, Linux, and macOS, or as an Eclipse plugin.

Of course, more introductions can be found in my article:STM32CubeMX Series Tutorial 01_STM32Cube Product Introduction You can also refer to the latest introduction on the official website:www.st.com/stm32cubemx Additionally, the usage tutorial for STM32CubeMX can be found in my column:STM32CubeMX Series Tutorial

3

STM32CubeIDE

STM32CubeIDE was launched around April 2019, but its development history goes back a long time.

The development of STM32CubeIDE can be traced back to the early Atollic TrueSTUDIO, which was a set of IDE tools for embedded development (similar to Keil, IAR) developed by Atollic. In December 2017, ST acquired Atollic, and TrueSTUDIO for STM32 was born. In April 2019, ST officially launched STM32CubeIDE, which is essentially an “upgraded version” of TrueSTUDIO for STM32, but this “upgrade” involved significant changes. Here, I recommend looking at an article I previously shared:Simple Steps to Migrate from TrueSTUDIO to STM32CubeIDE Below is a diagram to understand the development history of STM32CubeIDE:

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

STM32CubeIDE is a multifunctional integrated development tool (IDE) that integrates TrueSTUDIO and STM32CubeMX. It is part of the STM32Cube software ecosystem.

It is an advanced C/C++ development platform with IP configuration, code generation, code compilation, and debugging capabilities for STM32 microcontrollers.

Official address:

https://www.stmicroelectronics.com.cn/en/development-tools/stm32cubeide.html

For more information, refer to my previous shared article:Introduction to STM32CubeIDE: Installation, Configuration, Code Generation, and Online Debugging

4

STM32CubeProgrammer

STM32CubeProgrammer has a long history as well. The early ST chip downloading tool was STVP (ST Visual Programmer), which engineers familiar with tools before 2010 might recognize, but it was gradually replaced by ST-LINK Utility.

ST-LINK Utility is still used by many engineers today, but the official tool has replaced it with STM32CubeProgrammer and has stopped updating ST-LINK Utility. You can refer to my previous article for an introduction:Do You Know These Tools: STVD, STVP, ST-LINK Utility?Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage GuideSTM32CubeProgrammer shares many similarities with ST-LINK Utility, but introduces new features such as secure programming. You can refer to the article:Some Points Regarding STM32CubeProgrammer

5

STM32CubeMonitor

STM32CubeMonitor is a new tool launched by ST this year (2020), which helps debug and diagnose STM32 applications by reading and displaying variables in real-time.

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage GuideSTM32CubeMonitor also has a development history; its predecessor was STM Studio. Its main function is monitoring, such as monitoring variables:Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

Main Features:

• Graphical flow-based editor, no programming required to build dashboards

• Connects to any STM32 device via ST-LINK (SWD, JTAG protocol)

• Reads and writes variables in real-time in RAM while the target application is running, parsing debugging information from the application executable file

• Direct mode or snapshot mode

• Focus on application behavior of interest

• Allows data to be logged to files and replayed for detailed analysis

• Provides customized visual multi-probe support while monitoring multiple targets through configurable display windows (e.g., curves and boxes) and a variety of widgets (e.g., gauges, bar charts, and graphs)

• Remote monitoring; native support for multiple format displays (PC, tablet, mobile)

• Direct support for Node-RED open community

• Supported operating systems: Windows, Linux Ubuntu, and macOS

(The above is translated from Youdao Dictionary and may contain errors)

For detailed information, refer to the article:Introduction, Download, Installation, and Usage Guide for STM32CubeMonitor

Official website address:

www.st.com/stm32cubemonitor

CubeMonitor Extensions:

With the Node-RED open community, STM32CubeMonitor provides rich extension capabilities, refer to:

https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor_tool_suite_overview

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

1. STM32CubeMonitor-RF

Website:

www.st.com/stm32cubemonrf

STM32CubeMonRF is short for STM32CubeMonitor-RF, a tool for monitoring wireless devices, primarily used for monitoring the transmission/reception performance of STM32WB with Bluetooth (BLE) and 802.15.4 devices.

2. STM32CubeMonitor-Power

Website:

www.st.com/stm32cubemonpwr

STM32CubeMonPwr is short for STM32CubeMonitor-Power, a tool that enables developers to quickly analyze the low-power performance of target boards.

3. STM32CubeMonitor-UCPD

Website:

www.st.com/stm32cubemonucpd

STM32CubeMonUCPD is short for STM32CubeMonitor-UCPD, a tool for monitoring and configuring USB Type-C and Power Delivery applications.

6

STM32CubeMCU Packages

There are a wide variety of embedded software packages in the STM32Cube ecosystem, but they are clearly categorized. Below is a diagram showing the application structure of embedded software packages:

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

MCU Packages are MCU software packages, which are the most commonly used and familiar software packages:

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

They can be viewed and managed (deleted, added) in the STM32CubeMX software package manager:

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

MCU software packages can be divided into two categories:

  • Low-level drivers (HAL and LL)

  • Middleware

Among them, there are both ST’s own and third-party middleware, with a wide variety, such as: FreeRTOS, FatFS, LwIP, Open Bootloader, Bluetooth 5 stack, Zigbee 3 stack, USB Host & Device stacks, etc.

Below is a comprehensive diagram to understand MCU software packages:

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

Support status for each package:

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

7

STM32 Expansion

STM32 expansion packages are also part of the STM32Cube ecosystem, with both ST’s own and third-party expansion packages.

For example:X-CUBE-AI, X-CUBE-BLE1, X-CUBE-NFC4, and many more. Below is a classification:

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

Similarly, you can view and manage (delete, add) them in the STM32CubeMX software package manager:

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

8

Conclusion

This article summarizes all software tools in the STM32Cube ecosystem as of (2020.10) and describes relevant details.

The details of the software tools in the STM32Cube ecosystem are quite extensive, and not all need to be mastered. Beginners can start learning from STM32CubeMX and MCU software packages (HAL) and then gradually expand their knowledge.———— END ————

Reply with 『STM32Cube Ecosystem』 in the background to read more related articles.

Follow the WeChat Official Account 『Embedded Column』 for more content in the bottom menu, reply “Join Group” to join the technical exchange group as per rules.

Comprehensive Understanding of STM32Cube Ecosystem: Installation and Usage Guide

Click “Read Original” for more shares, and feel free to share, bookmark, like, and view.

Leave a Comment