问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

全面解读STM32生态环境,介绍、下载安装、使用教程等

创作时间:
作者:
@小白创作中心

全面解读STM32生态环境,介绍、下载安装、使用教程等

引用
CSDN
1.
https://blog.csdn.net/qq_35656655/article/details/118990677

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

STM32生态系统总预览

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

主要分为两大类:

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

STM32Cube生态系统具有以下特点:

  • 免费自由使用
  • 接口一致,方便移植
  • 可裁剪、可扩展
  • 易使用和理解
  • 节约开发时间和成本

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

STM32CubeMX

STM32CubeMX早在2014年就推出了,但早期的STM32CubeMX和HAL相对现在Bug更多,使用也不方便。再加上用户习惯了标准外设库,所以早期推出STM32CubeMX时,用户并不买账。

因此,为了推广STM32CubeMX,以及让更多用户使用STM32CubeMX,ST在14、15年逐渐停止了对各MCU标准外设库的更新和维护,让用户转向了HAL和LL库。

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

STM32CubeMX特性:

  1. 直观的选择 STM32 微控制器(MCU)和微处理器(MPU)
  2. 丰富易用的图形化界面:
  • 自动解决配置冲突
  • 具有参数约束动态验证的外设和中间件功能模式
  • 时钟树与配置的动态验证
  • 功耗预测
  1. 生成初始化代码工程,包含:EWARM、MDK-ARM、TrueSTUDIO、SW4STM32等。
  2. 针对部分MPU生成Linux设备树。
  3. 可独立运行在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配置、代码生成、代码编译和调试功能等。

STM32CubeProgrammer

STM32CubeProgrammer之前也有一段很长的历史,早期的ST芯片下载工具是STVP(ST Visual Programmer),可能2010年之前的工程师比较熟悉这款工具,但后面的逐渐被ST-LINK Utility取代了。

ST-LINK Utility应该现在很多工程师都还在用,但官方也是用STM32CubeProgrammer替代了ST-LINK Utility,同时也停止了对ST-LINK Utility的更新。

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

STM32CubeMonitor

STM32CubeMonitor是ST推出的一款新的神器,是一款通过实时读取和显示变量来帮助调试和诊断STM32应用程序的工具。

STM32CubeMonitor也有一个发展历程,它的前生其实是STM Studio。它和STM Studio主要的功能就是监控,比如监控变量:

主要特征:

  • 基于图形流的编辑器,不需要编程来构建仪表板
  • 通过ST-LINK (SWD、JTAG协议)连接到任何STM32设备
  • 在目标应用程序运行时,在RAM中实时读取和写入变量解析来自应用程序可执行文件的调试信息
  • 直接获取模式或快照模式
  • 关注感兴趣的应用行为
  • 允许将数据记录到文件中并重播以进行详尽的分析
  • 通过可配置的显示窗口(如曲线和方框)和大量的小部件(如仪表、条形图和图表)提供定制的可视化多探头支持同时监控多个目标
  • 远程监控,本机支持多格式显示(PC、平板电脑、手机)
  • 直接支持Node-RED开放社区
  • 支持操作系统:Windows,Linux Ubuntu 和 macOS

CubeMonitor扩展:

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

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

  1. STM32CubeMonitor-RF

网址:

http://www.st.com/stm32cubemonrf

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

  1. STM32CubeMonitor-Power

网址:

http://www.st.com/stm32cubemonpwr

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

  1. STM32CubeMonitor-UCPD

网址:

http://www.st.com/stm32cubemonucpd

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生态软件工具的一些内容,并描述了相关细节。STM32Cube生态的软件工具细节内容其实比较多,并不是所有都需要掌握,初学者可以从STM32CubeMX和MCU软件包(HAL)开始学起,然后一步一步拓展。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号
全面解读STM32生态环境,介绍、下载安装、使用教程等