当前位置:首页 > > strongerHuang
[导读]STM32能被这么多开发者认可,它的强大生态系统起了关键作用。本文围绕STM32生态各软件工具进行相关描述,其中包含一些技术细节。

关注+星标公众,不错过精彩内容

作者:strongerHuang

微信公众号:strongerHuang


STM32能被这么多开发者认可,它的强大生态系统起了关键作用。本文围绕STM32生态各软件工具进行相关描述,其中包含一些技术细节。

一、STM32生态系统总预览

STM32提供了全套开发工具,以及开发所需的软件包,下面看一张图,从全局来了解STM32生态系统工具和软件:


主要分为两大类:

1.软件工具: 即左边部分的STM32CubeMX、 CubeIDE、 CubeProgrammer、 CubeMontor等。
2.嵌入式软件包: STM32CubeMCU Packages 和 扩展软件包CubeExpansions.


STM32Cube生态系统几个特点:
  • 免费自由使用;

  • 接口一致,方便移植

  • 可裁剪、可扩展

  • 易使用和理解

  • 节约开发时间和成本

  • ······

(当然,这是我自己总结的特点,其实还有很多,欢迎补充)

下面进一步详细描述各工具和软件包的内容。

二、STM32CubeMX

STM32CubeMX早在2014年就推出了,但早期的STM32CubeMX和HAL相对现在Bug更多,使用也不方便。再加上用户习惯了标准外设库,所以早期推出STM32CubeMX时,用户并不买账。
因此,为了推广STM32CubeMX,以及让更多用户使用STM32CubeMXST在14、15年逐渐停止了对各MCU标准外设库的更新和维护,让用户转向了HAL和LL库。


STM32CubeMX是一个图形化的软件配置工具,使用图形向导可以生成STM32初始化代码工程。

STM32CubeMX特性:

1.直观的选择 STM32 微控制器(MCU)和微处理器(MPU)

2.丰富易用的图形化界面:

-自动解决配置冲突

-具有参数约束动态验证的外设和中间件功能模式

-时钟树与配置的动态验证

-功耗预测


3.生成初始化代码工程,包含:EWARM、 MDK-ARM、 TureSTUDIO、 SW4STM32等。

4.针对部分MPU生成Linux设备树。

5.可独立运行在Windows、Linux和macOS上使用,或作为 Eclipse 插件使用。

三、STM32CubeIDE

STM32CubeIDE推出的时间是在19年4月左右,但它的发展历程却有很久了。
STM32CubeIDE的发展要从早期 Atollic 的 TrueSTUDIO 说起,早期的 TrueSTUDIO 是 Atollic公司针对嵌入式开发的一套IDE工具(类似Keil、 IAR)。
在2017年12月的时候,ST收购了Atollic公司,然后TrueSTUDIO for STM32就这样诞生了。
直到2019年4月份,ST正式推出了STM32CubeIDE,简单说就是TrueSTUDIO for STM32的“升级版本,只是这个“升级版本”变化有点大。
下面通过一张图来了解STM32CubeIDE的发展历史:


STM32CubeIDE是一个多功能的集成开发工具(IDE),集成了TrueSTUDIO和STM32CubeMX,它是STM32Cube软件生态系统的一部分。

它是一个先进的C/C++开发平台,具有STM32微控制器的IP配置、代码生成、代码编译和调试功能等。
四、STM32CubeProgmmer

STM32CubeProgmmer之前也有一段很长的历史,早期的ST芯片下载工具是 STVP(ST Visual Programmer) ,可能2010年之前的工程师比较熟悉这款工具,但后面的逐渐被ST-LINK Utility取代了。
ST-LINK Utility应该现在很多工程师都还在用,但官方也是用STM32CubeProgmmer替代了ST-LINK Utility,同时也停止了对ST-LINK Utility的更新。

STM32CubeProgrammer有很多地方和ST-LINK Utility相似,但新引入了一些功能,比如安全编程(secure programming)。
五、STM32CubeMonitor

STM32CubeMonitor是ST今年(2020推出的一款新的神器,是一款通过实时读取和显示变量来帮助调试和诊断STM32应用程序的工具。
STM32CubeMonitor也有一个发展历程,它的前生其实是STM Studio。它和STM Studio主要的功能就是监控,比如监控变量:

主要特征:

•基于图形流的编辑器,不需要编程来构建仪表板

•通过ST-LINK (SWD、JTAG协议)连接到任何STM32设备

•在目标应用程序运行时,在RAM中实时读取和写入变量解析来自应用程序可执行文件的调试信息

•直接获取模式或快照模式

•关注感兴趣的应用行为

•允许将数据记录到文件中并重播以进行详尽的分析

•通过可配置的显示窗口(如曲线和方框)和大量的小部件(如仪表、条形图和图表)提供定制的可视化多探头支持同时监控多个目标

•远程监控,本机支持多格式显示(PC、平板电脑、手机)

•直接支持Node-RED开放社区

•支持操作系统:Windows,Linux Ubuntu 和 macOS

(以上来自有道词典翻译,可能存在错误)

CubeMonitor扩展:

借助Node-RED开放社区,STM32CubeMonitor可提供丰富的扩展功能。


1.STM32CubeMonitor-RF

STM32CubeMonRF是STM32CubeMonitor-RF的缩写,它是一款用于监测无线设备的工具,目前主要用于监测STM32WB与蓝牙(BLE)和802.15.4设备的发送/接收性能。


2.STM32CubeMonitor-Pwwer

STM32CubeMonPwr是STM32CubeMonitor-Power,是一款使开发人员能够快速分析目标板低功耗性能的工具。


3.STM32CubeMonitor-UCPD

STM32CubeMonUCPD是STM32CubeMonitor-UCPD,是一款用于监视和配置USB Type-C和Power Delivery应用程序的工具。


六、STM32CubeMCU Packages

STM32Cube生态的嵌入式软件包种类繁多,但分类比较明确,下面通过一张图来看下嵌入式软件包应用结构图:


MCU Packages即MCU软件包,也是大家最常用、最熟悉的软件包:


在STM32CubeMX软件包管理器中可以进行查看和(删除、增加)管理:


MCU软件包还可以分两类:
  • 底层驱动HAL和LL

  • 中间层Middlewares


其中中间层有ST自家的、也有第三方的,种类比较多,比如:FreeRTOS、 FatFS、 LwIP、  Open Bootloader、 Bluetooth 5 stack、 Zigbee 3 stack、 USB Host & Device stacks等。


通过一张图全面了解MCU软件包:


各包支持的情况:


七、STM32Expansion

STM32扩展包,也是STM32Cube生态系统其中的组成部分,STM32的扩展包有ST自家的,也支持第三方的扩展包。
比如: X-CUBE-AI 、 X-CUBE-BLE1、 X-CUBE-NFC4······等很多很多。
下面进行分类一下:


同样,可以在STM32CubeMX软件包管理器中可以进行查看和(删除、增加)管理:


八、总结

本文总结了STM32Cube生态目前(2020.10)所有的软件工具内容,以及描述相关细节内容。
STM32Cube生态的软件工具细节内容其实比较多,并不是所有都需要掌握,初学者可以从STM32CubeMX和MCU软件包(HAL)开始学起,然后一步一步拓展。

最后,大家可以后台回复“STM32Cube生态系统”查看更多相关内容。
推荐阅读:

【专栏】STM32CubeMX系列教程

STM32CubeMonitor介绍、下载、安装和使用教程

STM32CubeIDE下载安装,配置生成代码,在线调试


关注 微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。


长按前往图中包含的公众号关注

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭