
一、STM32Cube 生态系统 可以在其官网查看,支持中文。. O/ ~; C. ?3 |3 h % x$ f( y. m2 L7 O: Q( M! o ![]() % D9 X+ ?+ j6 E8 L* c9 m 截取官网的STM32Cube家族的软件工具描述: Q, I" Q( g; M w3 t3 X 【1】STM32CubeMX, 面向任意STM32设备的配置工具。这款简单易用的图形用户界面为Cortex-M内核生成初始化C代码,并为Cortex-A内核生成Linux设备树源码。& J ]1 F9 C& r5 P/ ^ 【2】STM32CubeIDE, 一种集成开发环境。该IDE基于Eclipse或GNU C/C++工具链等开源解决方案,包括编译报告功能和高级调试功能。它还集成了其他工具,如STM32CubeMX(本身包含在STM32CubeIDE中)。9 q$ l# C' s( c4 r0 p# r: |: l/ t9 P 【3】 STM32CubeProgrammer, 一种编程工具。它通过多种多样可用的通信媒介(JTAG、SWD、UART、USB DFU、I2C、SPI、CAN等)为读取、写入和验证设备和外部存储器等操作提供简单易用且高效的环境。4 o( g* X1 Z9 }2 q/ }0 p" i 【4】STM32CubeMonitor系列工具。功能强大的监控工具,可帮助开发人员实时微调其应用程序的行为和性能。 这四款软件中,STM32CubeMX年岁最久,也是被最广泛使用的。它集成了芯片选型、引脚分配和功能配置,中间件配置,时钟配置,初始代码和项目的功能,因此积累了大量的STM32CubeMX (.ioc)工程配置文件。% I7 f J- U7 g 8 n$ _- Q5 t4 O+ J! `. {7 c3 | 而STM32CubeIDE出现时间较短,在2017年12月的时候,ST收购了Atollic公司,然后TrueSTUDIO for STM32就这样诞生了。 直到2019年4月份,ST正式推出了STM32CubeIDE,简单说就是TrueSTUDIO for STM32的“升级版本”。ST公司把STM32CubeMX给集成了进来,作为和其他厂家IDE最大的一个区别亮点。) q! w" B# y* m# A& d3 B 8 h ]+ F2 Y6 e y0 T! b" F' a 虽然STM32CubeMX提供了图像化配置芯片,但是针对众多芯片型号涉及各个引脚、时钟等配置,还是开发环节中极其费心费力的一个环节,常常会由于配置不当而出现莫名的错误。而前人在通过多次验证所累积的STM32CubeMX (.ioc)配置无疑是我们开发者可以复用的。" H$ u0 x" d& v1 q, H9 g, ?, e 另外,每个芯片生产出来,是根据当时的MCU包进行匹配的,在升级MCU包后有可能反而出错了,针对一些旧信号芯片,往往需要选配旧版本的MCU包来匹配。 在STM32CubeIDE新建工程中,目前只能选择在系列MCU的最新大版本中选择小版本。2 E1 k- @. w& `/ f3 S2 S 8 ~; g& ?( ]/ D8 M" o6 Q ![]() 二、cubeIDE开发对已有STM32CubeMX (.ioc)支持4 r" w2 t' [3 `8 u5 T& W9 z. \ 为了支持原有STM32CubeMX (.ioc)配置,STM32CubeIDE加入了从原有(.ioc)配置创建新工程的选项,并该选项支持旧MCU版本的选择,该选择还允许开发者按需要提升MCU版本或保留旧版本。 我们先找到一个旧有(.ioc)配置,例如stm32L496VGT3_camera.ioc,我在CubeIDE工作空间目录,创建一个stm32L496VGT3_camera文件夹,并将stm32L496VGT3_camera.ioc文件放入该目。, ]- {4 a! W/ F 2 X. [. h/ r, \ 在菜单栏的“新建-> Create a New STM32 Project from an Existing STM32CubeMX Configuration files(.ioc)”,进入创建,如果没有该选项,可以“新建-> 其他”进入& m C9 L- s$ p4 D; R ' J1 q% p9 S$ p3 k! Y3 b# Q ![]() 0 a$ ?' B: F1 F1 J# q$ ?6 ~+ Q 点击下一步,进入基于已有(.ioc)创建新工程页面" \+ V1 G0 v9 G5 u/ s# j ![]() ) ^6 g- B8 }, g" K' S( S2 t 再点击下一步,进入MCU包选择页面,可以查看该(.ioc)配置原有支持的MCU包版本。0 g; V! G: G! N8 C/ t. s, y# @ ![]() 1 p& r9 x3 ]/ K3 X 在点击完成创建时,会弹出选择对话框,询问是否维持旧MCU包,还是升级到新的MCU包支持。选择Continue维持旧版本时,如果支持库里没有该版本,IDE会直接下载该版本的MCU。# ~4 U/ E, }0 H+ A ![]() + m/ h: h9 R/ M$ n( i6 b 工程完成创建后,和原来新建stm32工程一样,直接进入cubeMX配置界面,我们可以看到MCU包维持了原来版本,并(.ioc)原有配置已经输出了源码。我们就可以基于该配置基础上,添加我们需要的新配置或调整原来配置。# F7 h. e. l6 o( ~& X! H/ i, w8 c 7 b7 N0 o, I- K5 ^ ![]() 修改配置后,点击保存或生成按钮,输出代码目录结构和我们原来新建STM32工程结构目录一样的。 ———————————————— 版权声明:py_free-物联智能* f/ j0 b. w, ~ 如有侵权请联系删除 ) w7 v+ T, ^( E8 H1 N( i) V4 o |
【STM32N6570-DK评测】摄像头video encoder
实战经验 | STM32CubeIDE实用技巧之工程联调
【STM32H745I-DISCO】基于TouchGFX的工业控制器界面设计
【下载问题解决】关于ST官网下载软件问题解决
【STM32N6570-DK评测】开发环境及LED debug
实战经验 | 基于STM32CubeIDE下载TouchGFX GUI应用的出错分析
实战经验 | 如何修改STM32Cube固件包的存储位置
兔哥的杂谈【002】——如何性价比更高地去编译STM32
IDE删除编译中间文件
STM32CubeIDE 快速入门指南