STM32生态系统工具和软件介绍

发布者:PeacefulAura最新更新时间:2023-06-25 来源: elecfans关键字:STM32  生态系统 手机看文章 扫描二维码
随时随地手机看文章

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


关键字:STM32  生态系统 引用地址:STM32生态系统工具和软件介绍

上一篇:用Arduino IDE+STM32制作LED闪烁灯
下一篇:STM32单片机的ADC多通道采样

推荐阅读最新更新时间:2024-11-12 20:29

STM32的ADC用法
AD采样在电路中是一种比较常见的功能,可以用于电池电压检测、传感器值读取、信号采集等。STM32的ADC,由于引入了DMA,以及多种触发源,功能自然强大,用法也多种多样。今天,我们简单说说在单通道情况下,AD采样的几种用法。 1、AD单次转换+软件启动 最基本的用法,通过程序启动AD,AD采集一次,我们就去读一次。这种情况,建议开启AD转换完成中断,在中断中读出AD值并做处理。 这种方式的优点是配置简单,缺点么,太T么简单~ 初始化的时候,启动一次。然后在主循环里,每隔一秒启动一次。 在中断回调函数里,进行相关处理: 电脑输出如下: 2、连续转换+软件启动 在方法1的基础上做调整,从单次转换,变成连续转换。
[单片机]
<font color='red'>STM32</font>的ADC用法
STM32 调试 24L01 心得
大部分使用STM32开发nrf24L01的用户基本都是照搬常见的几个开发板的源代码,在这里我做一些总结: 1.源代码中在while(1)的循环中有 NRF24L01_TX_Mode();或NRF24L01_RX_Mode();类似这样的代码,因为源码中需要检测按键以便切换的不同的模式,对于正常使用来讲,都是发送接收方确定了的,所有,只需要一次即可,没必要放到while中。 2.接收方和发送方的ADDRESS必须一致,这一点尤为重要。 3.发射的通道即频率必须一致,这个好理解。速率,数据长度,也要一致! 4.接收方无论是在中断中接收还是在while中接收,接收后必须清掉FIFO寄存器,否则会出现发送1-3次就不能正确发送的现象。
[单片机]
STM32默认启动
TM32默认启动时PB4、PB3、PA15三个引脚不是普通IO,而是JTAG的复用功能,分别为JNTRST、JTDI、JTDO。 当我们试用SWD接口调试仿真时,这三个引脚可以用作普通IO。 具体做法就是禁用JTAG功能。只需使用以下语句即可。 #define GPIO_Remap_SWJ_JTAGDisable ((uint32_t)0x00300200) GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
[单片机]
stm32专题三十六:MDK编译过程和文件类型(二)
MDK工程的文件类型: 1 下图为 Project 目录下的工程文件 实际上,只需要有 unprojx 文件,就可以恢复整个工程。 具体描述: 2 源文件 3 output 和 list 文件 详细分析: 1 uvprojx 文件 uvprojx 文件就是我们平时双击打开的工程文件,它记录了整个工程的结构,如芯片类型、工程包含了哪些源文件等内容。 可以使用vscode直接打开 uvprojx ,来看一下里面的具体内容: 2 uvoptx 文件 uvoptx 文件记录了工程的配置选项,如下载器的类型、变量跟踪配置、断点位置以及当前已打开的文件等。 我们在程序 main.c 的第81行
[单片机]
<font color='red'>stm32</font>专题三十六:MDK编译过程和文件类型(二)
stm32学习之五
按键输入的学习(key_polling): 目标:通过按键的输入,实现LED灯的反转等操作。 要实现按键的输入的读取,必须要实现一个key.c和key.h的文件的编写,这里,利用库函数的编写原则(仿照 库函数的编写方法),获取按键的动作。 首先,编写key.h函数: #ifndef _KEY_H #define _KEY_H #include stm32f10x.h #define KEY_ON 0 #define KEY_OFF 1 void key_Init(void); uint8_t key_Scan( GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin ); void de
[单片机]
关于 STM32 的几点内容
主要内容: 1.为什么STM32F0没有AFIO时钟呢? 2.关于STM32中的各种电源 3.IAR中如何查看外设寄存器 4.关于问问题 1为什么STM32F0没有AFIO时钟呢? 前面写过一篇文章【关于STM32时钟配置的那些坑】里面有讲述关于什么时候开启AFIO时钟,有朋友下来去研究AFIO时钟时发现STM32F0芯片中没有AFIO时钟,于是就问了这么一个问题:你好,为什么STM32F0没有AFIO时钟呢? 答案就是STM32F0没有AFIO时钟。那又是怎样实现重定义这个功能的呢? 实现重定义功能也是由特定的控制器完成的,需要使用某个控制器,就需要开启对应的时钟。 而STM32F1就是由“Alternate function
[单片机]
关于 <font color='red'>STM32</font> 的几点内容
STM32 分散加载文件 .sct 解析
1、STM32 启动文件与 .sct 文件分析 1) 定义STACK段,{NOINIT,读写}:分配一段内存大小为0.5K; 2) 定义HEAP段, {NOINIT,读写}:分配一段内存大小为1K; 3) 定义RESET段,{DATA,只读}:DCD各种中断向量; 4) 定义|.text|段,{CODE,只读}:Reset_Handler函数,函数中最后加载了__main; 对剩余的中断函数进行了弱定义; 在最后还有一段用户初始化堆栈的代码__user_initial_stackheap。 那这些代码都存放在什么位置呢? 5) 分析 .sct 文件: 分散加载文件(即scatter file,后
[单片机]
揭秘中移动LTE首标平衡背后:意在生态系统
    9月18日,中国移动TD-LTE无线主设备招标结果在其采购与招标网上进行公示。至此,被业内关注长达半年之久的“第一标”宣告尘埃落定。   此次招标结果与之前数次坊间相传的消息相吻合——中移动(56.8, -0.57, -0.99%)公示结果显示爱立信(13.8, -0.31, -2.23%)、大唐移动、华为、诺西、上海贝尔、烽火通信、新邮通、普天、中兴等9家企业中标。但该公示并未显示各家中标企业所占最终份额和分别获得了哪些城市的建设权。《通信产业报》(网)记者联系了几家中标企业,这些厂商均表示,在中移动没有公示比例前不能透露。不过,有接近中移动的人士对记者透露,“前不久所传的比例属实。”此外,亦有中移动内部人士对记者表示,“
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved