STM32能被这么多开发者认可,它的强大生态系统起了关键作用。本文围绕STM32生态各软件工具进行相关描述,其中包含一些技术细节。
一、STM32生态系统总预览STM32提供了全套开发工具,以及开发所需的软件包,下面看一张图,从全局来了解STM32生态系统工具和软件:
主要分为两大类:1.软件工具:即左边部分的STM32CubeMX、 CubeIDE、 CubeProgrammer、 CubeMontor等。 2.嵌入式软件包:STM32CubeMCU Packages 和 扩展软件包CubeExpansions.
STM32Cube生态系统几个特点:
免费自由使用;
接口一致,方便移植
可裁剪、可扩展
易使用和理解
节约开发时间和成本
(当然,这是我自己总结的特点,其实还有很多,欢迎补充) 下面进一步详细描述各工具和软件包的内容。 二、STM32CubeMXSTM32CubeMX早在2014年就推出了,但早期的STM32CubeMX和HAL相对现在Bug更多,使用也不方便。再加上用户习惯了标准外设库,所以早期推出STM32CubeMX时,用户并不买账。 因此,为了推广STM32CubeMX,以及让更多用户使用STM32CubeMX,ST在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 插件使用。
当然,更多介绍可以参看我的文章:STM32CubeMX系列教程01_STM32Cube产品介绍 也可以参看官网最新的介绍: www.st.com/stm32cubemx 当然,STM32CubeMX的使用教程,可以参看我的专栏:STM32CubeMX系列教程 三、STM32CubeIDESTM32CubeIDE推出的时间是在19年4月左右,但它的发展历程却又有很久了。 STM32CubeIDE的发展要从早期 Atollic 的 TrueSTUDIO 说起,早期的 TrueSTUDIO 是 Atollic公司针对嵌入式开发的一套IDE工具(类似Keil、 IAR)。 在2017年12月的时候,ST收购了Atollic公司,然后TrueSTUDIO for STM32就这样诞生了。 直到2019年4月份,ST正式推出了STM32CubeIDE,简单说就是TrueSTUDIO for STM32的“升级版本”,只是这个“升级版本”变化有点大。 这里推荐参看我之前分享过的一篇文章:从TrueSTUDIO迁移到STM32CubeIDE只需要简单几步 下面通过一张图来了解STM32CubeIDE的发展历史:
STM32CubeIDE是一个多功能的集成开发工具(IDE),集成了TrueSTUDIO和STM32CubeMX,它是STM32Cube软件生态系统的一部分。 它是一个先进的C/C++开发平台,具有STM32微控制器的IP配置、代码生成、代码编译和调试功能等。 官方地址: https://www.stmicroelectronics.com.cn/en/development-tools/stm32cubeide.html 更多可以参看我之前分享过的文章:STM32CubeIDE介绍、下载安装,配置生成代码,在线调试 四、STM32CubeProgmmerSTM32CubeProgmmer之前也有一段很长的历史,早期的ST芯片下载工具是 STVP(ST Visual Programmer) ,可能2010年之前的工程师比较熟悉这款工具,但后面的逐渐被ST-LINK Utility取代了。 ST-LINK Utility应该现在很多工程师都还在用,但官方也是用STM32CubeProgmmer替代了ST-LINK Utility,同时也停止了对ST-LINK Utility的更新。 这里介绍可以参看我之前分享的一篇文章:STVD、STVP、ST-LINK utility这些工具你了解吗?
STM32CubeProgrammer有很多地方和ST-LINK Utility相似,但新引入了一些功能,比如安全编程(secure programming)。 这里可以参看文章:几点关于STM32CubeProgrammer的内容 五、STM32CubeMonitorSTM32CubeMonitor是ST今年(2020)推出的一款新的神器,是一款通过实时读取和显示变量来帮助调试和诊断STM32应用程序的工具。
STM32CubeMonitor也有一个发展历程,它的前生其实是STM Studio。它和STM Studio主要的功能就是监控,比如监控变量:
主要特征:
•基于图形流的编辑器,不需要编程来构建仪表板
•通过ST-LINK (SWD、JTAG协议)连接到任何STM32设备
•在目标应用程序运行时,在RAM中实时读取和写入变量解析来自应用程序可执行文件的调试信息
•直接获取模式或快照模式
•关注感兴趣的应用行为
•允许将数据记录到文件中并重播以进行详尽的分析
•通过可配置的显示窗口(如曲线和方框)和大量的小部件(如仪表、条形图和图表)提供定制的可视化多探头支持同时监控多个目标
•远程监控,本机支持多格式显示(PC、平板电脑、手机)
•直接支持Node-RED开放社区
•支持操作系统:Windows,Linux Ubuntu 和 macOS