你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32CubeIDE创建基于CubeMX (.ioc)工程文件经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-6 19:29
一、STM32Cube 生态系统
; @- z5 S* C4 G9 {# o        可以在其官网查看,支持中文。
# {$ H; c* s7 J- F5 z7 Y- x: Q+ D* j+ G5 H; |! `- X( E# l6 r
e2cd2f92d6a241bf8f4c1d62026b70da.png   e# C# E1 {# l( |1 ]

; @% h5 Q5 {0 h' R9 w& T' w        截取官网的STM32Cube家族的软件工具描述:
$ `. E7 v7 Q' q: |    【1】STM32CubeMX, 面向任意STM32设备的配置工具。这款简单易用的图形用户界面为Cortex-M内核生成初始化C代码,并为Cortex-A内核生成Linux设备树源码。8 k( E% G" s3 A
    【2】STM32CubeIDE, 一种集成开发环境。该IDE基于Eclipse或GNU C/C++工具链等开源解决方案,包括编译报告功能和高级调试功能。它还集成了其他工具,如STM32CubeMX(本身包含在STM32CubeIDE中)。
8 u( V5 q% V9 Z" K# c6 A0 j. w0 u6 v   【3】 STM32CubeProgrammer, 一种编程工具。它通过多种多样可用的通信媒介(JTAG、SWD、UART、USB DFU、I2C、SPI、CAN等)为读取、写入和验证设备和外部存储器等操作提供简单易用且高效的环境。
1 P1 y" K6 ~( S& H    【4】STM32CubeMonitor系列工具。功能强大的监控工具,可帮助开发人员实时微调其应用程序的行为和性能。      
( W& d6 w3 C& P8 i) [1 ~' R        这四款软件中,STM32CubeMX年岁最久,也是被最广泛使用的。它集成了芯片选型、引脚分配和功能配置,中间件配置,时钟配置,初始代码和项目的功能,因此积累了大量的STM32CubeMX (.ioc)工程配置文件。
" k+ J, ?+ I2 l0 u8 Z" E& X9 c! }
1 A8 Y4 q9 c8 Y* a+ B& ~        而STM32CubeIDE出现时间较短,在2017年12月的时候,ST收购了Atollic公司,然后TrueSTUDIO for STM32就这样诞生了。 直到2019年4月份,ST正式推出了STM32CubeIDE,简单说就是TrueSTUDIO for STM32的“升级版本”。ST公司把STM32CubeMX给集成了进来,作为和其他厂家IDE最大的一个区别亮点。
4 Y' Y) {, H8 Q& s3 o  Q, K+ {6 H8 V. @7 @
        虽然STM32CubeMX提供了图像化配置芯片,但是针对众多芯片型号涉及各个引脚、时钟等配置,还是开发环节中极其费心费力的一个环节,常常会由于配置不当而出现莫名的错误。而前人在通过多次验证所累积的STM32CubeMX (.ioc)配置无疑是我们开发者可以复用的。; B- _, f7 X, e( X
2 q8 r! H2 z' J& i/ L& S5 L# D
        另外,每个芯片生产出来,是根据当时的MCU包进行匹配的,在升级MCU包后有可能反而出错了,针对一些旧信号芯片,往往需要选配旧版本的MCU包来匹配。
9 T7 }' l- c- O$ @: ?& E* w; |4 A1 A  J8 P7 B$ H% t
        在STM32CubeIDE新建工程中,目前只能选择在系列MCU的最新大版本中选择小版本。4 ^( Q4 U+ s8 R2 k% a$ O
6 E$ ?% G5 k& I/ n9 B" |# J
6e5c3e5304d145469c84a45aa66c81df.png
0 `( M( p3 N. w6 J/ R# e$ W( r+ Z: Y

6 P3 W: C3 D3 f) B. E二、cubeIDE开发对已有STM32CubeMX (.ioc)支持
8 [9 Z2 z2 V/ j' L        为了支持原有STM32CubeMX (.ioc)配置,STM32CubeIDE加入了从原有(.ioc)配置创建新工程的选项,并该选项支持旧MCU版本的选择,该选择还允许开发者按需要提升MCU版本或保留旧版本。
% r) v3 H  {! a8 i
9 J/ T" ?8 B" Y4 r8 ?        我们先找到一个旧有(.ioc)配置,例如stm32L496VGT3_camera.ioc,我在CubeIDE工作空间目录,创建一个stm32L496VGT3_camera文件夹,并将stm32L496VGT3_camera.ioc文件放入该目。- O8 {* Q# D- n3 a4 c% P5 ^8 q

+ T# m( H8 ?0 ~        在菜单栏的“新建-> Create a New STM32 Project from an Existing STM32CubeMX Configuration files(.ioc)”,进入创建,如果没有该选项,可以“新建-> 其他”进入: X- ]9 Q$ [) X  r. S; l
' u& _, `& G( j
a2347feeeafd475c906d441d2048962b.png 4 U3 R2 O8 E' d& Z& @
1 ~" j/ `/ n; z1 b% g/ r2 \
         点击下一步,进入基于已有(.ioc)创建新工程页面
8 D1 \; f" K4 i* u4 n5 j
" y- v! [; \" Y, c
f8ca0111ef304babbdb602947db0aa72.png
/ H* Z+ ^9 F5 e+ {0 f" V
: s8 ~- E' Q7 c; f) H; v7 t        再点击下一步,进入MCU包选择页面,可以查看该(.ioc)配置原有支持的MCU包版本。+ K; F" t% T; F) r- Q3 B

: P4 C" F9 b3 B" C- D+ L  n4 q; U7 X
3acd7cd351ea4a4599ace41b70a5f130.png # K; \' r7 a) x! `& `  ]

5 a9 T4 F' h, p2 X         在点击完成创建时,会弹出选择对话框,询问是否维持旧MCU包,还是升级到新的MCU包支持。选择Continue维持旧版本时,如果支持库里没有该版本,IDE会直接下载该版本的MCU。
5 A$ f4 s# ?: P' B
* f% t+ ]/ p, E3 J
6a0b6fbf0d9848368d76a897398b7a1e.png
/ x6 Q1 R0 {# L4 W+ ^6 W' A4 k9 J* v5 ^5 i7 ^
         工程完成创建后,和原来新建stm32工程一样,直接进入cubeMX配置界面,我们可以看到MCU包维持了原来版本,并(.ioc)原有配置已经输出了源码。我们就可以基于该配置基础上,添加我们需要的新配置或调整原来配置。
$ I) {, H+ S3 t& f
$ F6 B! L5 g( A4 `* ^3 |2 s
ab84ccda708a48179ae927c875b27b08.png + N! S' [' C/ q$ {  L. r  \

2 d5 E9 f+ }8 \) n- v! q' U" J9 d         修改配置后,点击保存或生成按钮,输出代码目录结构和我们原来新建STM32工程结构目录一样的。. L* J- @; u" f, r2 s
————————————————
' }  ^3 W2 V5 j2 L. E/ l2 ^' F版权声明:py_free-物联智能( z% y8 `  p6 |' q& h7 l
如有侵权请联系删除- v. j0 F1 M* U1 ]5 f& ]% e( ], g
- m* S5 J4 ?" P$ P) Z* H4 x

& [  ^2 t% \* z$ d
收藏 评论0 发布时间:2023-4-6 19:29

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版