The recognition of STM32 by numerous developers is largely attributed to its powerful ecosystem. This article describes various software tools within the STM32 ecosystem, including some technical details.1. Overview of the STM32 EcosystemSTM32 provides a complete set of development tools and software packages necessary for development. Below is an image that gives a global view of the STM32 ecosystem tools and software:
It is mainly divided into two categories:1. Software Tools:These include STM32CubeMX, CubeIDE, Cube Programmer, and Cube Monitor, among others, located on the left side.2. Embedded Software Packages:STM32 Cube MCU Packages and extension software packages Cube Expansions.Key Features of the STM32Cube Ecosystem:
-
Free to use;
-
Consistent interfaces for easy portability;
-
Customizable and extensible;
-
Easy to use and understand;
-
Reduces development time and costs;
-
······
(Of course, these are my own summarized features; there are many more, and contributions are welcome.)Next, I will further describe the content of each tool and software package in detail.2. STM32CubeMXSTM32CubeMX was launched in 2014, but the early versions had more bugs and were less user-friendly compared to now. Additionally, users were accustomed to the standard peripheral libraries, so the initial launch of STM32CubeMX did not gain much traction.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, steering users towards the HAL and LL libraries.
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;
– Features dynamic validation of parameter constraints for peripherals and middleware functional modes;
– Dynamic validation of clock tree and configuration;
– Power consumption prediction;
3. Generates initialization code projects, including: EWARM, MDK-ARM, TrueSTUDIO, SW4STM32, etc.
4. Generates Linux device trees for certain MPUs.
5. Can run independently on Windows, Linux, and macOS, or as an Eclipse plugin.
For more information, you can refer to my article:STM32CubeMX Series Tutorial 01 – Introduction to STM32Cube ProductsAlso, you can check the latest introduction on the official website:www.st.com/stm32cubemxAdditionally, for tutorials on using STM32CubeMX, you can refer to my column:STM32CubeMX Series Tutorials3. STM32CubeIDESTM32CubeIDE was launched around April 2019, but its development history is quite long.The development of STM32CubeIDE can be traced back to the early Atollic TrueSTUDIO, which was an IDE tool developed by Atollic for embedded development (similar to Keil, IAR).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, although this “upgrade” involved significant changes.Here, I recommend referring to my previously shared article:Simple Steps to Migrate from TrueSTUDIO to STM32CubeIDEBelow is an image to understand the development history of STM32CubeIDE:
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.The official address is:https://www.stmicroelectronics.com.cn/en/development-tools/stm32cubeide.htmlFor more, you can refer to my previously shared article:Introduction to STM32CubeIDE, Download, Installation, Code Generation Configuration, Online Debugging4. STM32CubeProgrammerSTM32CubeProgrammer has a long history as well; the early ST chip download tool was STVP (ST Visual Programmer), which engineers familiar with pre-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 ST-LINK Utility with STM32CubeProgrammer and has stopped updating ST-LINK Utility.For more information, you can refer to my previously shared article:Do You Know These Tools: STVD, STVP, ST-LINK Utility?STM32CubeProgrammer shares many similarities with ST-LINK Utility, but it introduces new features such as secure programming.For more details, refer to the article:Key Points About STM32CubeProgrammer5. STM32CubeMonitorSTM32CubeMonitor is a new tool launched by ST in 2020, designed to assist in debugging and diagnosing STM32 applications by reading and displaying variables in real-time.
STM32CubeMonitor also has a development history; its predecessor was STM Studio. Its main function is monitoring, such as monitoring variables:
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 RAM in real-time while the target application is running, parsing debugging information from the application executable;
• Supports direct mode or snapshot mode;
• Focuses on application behaviors of interest;
• Allows data logging to files and replay for detailed analysis;
• Provides customizable visual multi-probe support with configurable display windows (such as curves and boxes) and numerous widgets (such as gauges, bar graphs, and charts) to monitor multiple targets simultaneously;
• Remote monitoring with native support for multi-format display (PC, tablet, mobile);
• Direct support for the 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 Tutorial for STM32CubeMonitor
Official website:
www.st.com/stm32cubemonitor
CubeMonitor Extensions:
With the Node-RED open community, STM32CubeMonitor can provide rich extension capabilities, refer to:
https://wiki.st.com/stm32mcu/wiki/STM32CubeMonitor_tool_suite_overview
1. STM32CubeMonitor-RF
Website:
www.st.com/stm32cubemonrf
STM32CubeMonRF is an abbreviation for STM32CubeMonitor-RF, a tool for monitoring wireless devices, currently mainly 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 an abbreviation 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 an abbreviation for STM32CubeMonitor-UCPD, a tool for monitoring and configuring USB Type-C and Power Delivery applications.
6. STM32CubeMCU PackagesThe STM32Cube ecosystem has a wide variety of embedded software packages, but they are clearly categorized. Below is an image showing the application structure of embedded software packages:
MCU Packages refer to MCU software packages, which are the most commonly used and familiar software packages:
In the STM32CubeMX software package manager, you can view and manage (delete, add) them:
MCU software packages can be divided into two categories:
-
Low-level drivers HAL and LL;
-
Middleware;
Among the middleware, there are both ST’s own and third-party options, including: FreeRTOS, FatFS, LwIP, Open Bootloader, Bluetooth 5 stack, Zigbee 3 stack, USB Host & Device stacks, etc.
Below is an image to comprehensively understand MCU software packages:
Support status of each package:
7. STM32ExpansionSTM32 expansion packages are also part of the STM32Cube ecosystem, with both ST’s own and third-party expansion packages available.For example:X-CUBE-AI, X-CUBE-BLE1, X-CUBE-NFC4, and many more.Below is a classification:
Similarly, you can view and manage (delete, add) them in the STM32CubeMX software package manager:
8. ConclusionThis article summarizes all the software tools in the STM32Cube ecosystem as of October 2020, along with 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 with STM32CubeMX and MCU software packages (HAL) and gradually expand their knowledge.
1.The latest agenda for the second Domestic Embedded Operating System Technology and Industry Development Forum is out!
2.Memories of Job Seeking as an Embedded Engineer~
3.Is the establishment of Nanjing Integrated Circuit University useful in addressing the shortage of 250,000 chip talents?
4.The secrets of CPU executing programs are hidden in these 15 images.
5.There is actually firmware between software and hardware! Did you know?
6.Breaking news: AMD is rumored to acquire Xilinx for $30 billion! The deal may be reached as early as next week.
Disclaimer: This article is a network reprint, and the copyright belongs to the original author. If there are any copyright issues, please contact us, and we will confirm the copyright based on the materials you provide and pay for the manuscript or delete the content.