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

实战经验 | 使用STM32CubeIDE开发上位机工具

[复制链接]
STMCU-管管 发布时间:2025-11-11 13:50

- D' V! X/ I0 o/ R

0 ?5 X! N, [! S8 X+ R2 k01 前言2 ~. f" o- z" A+ R+ O, {  \
上位机工具,是STM32开发人员特别是算法开发人员需要面对的一个需求,一般需要专门的桌面环境和语言。MCU开发人员使用最多的环境,是MCU的环境,使用最多的语言是C语言。本文提供一个例子hello world例程,使STM32开发人员能够在熟悉的STM32CubeIDE环境通过熟悉的C语言进行小工具的开发,为MCU各种算法在PC上的验证提供一个基础。
" p5 A' u4 a$ s$ L# [1 S+ y$ D9 U5 i1 e0 u( f

9 ~7 i+ b2 p5 T# ~02 关于python* J0 {1 s: j- {' z8 Z' {
如果读者熟悉python,或者了解其他的语言和环境,在做工具时可以根据需要自行选择,本文并没有任何偏好。本文使用C语言,主要是从实际出发,很多时候你运行在STM32上的算法,是C代码,例如X-Cube-AI所生成的MCU代码,那么直接使用C语言进行验证,只是使用不同的编译环境,更加贴近最后的MCU算法代码运行结果。
' q* ], \6 s1 P- l: \& ^% J/ k
( i2 w3 L. I2 p( T
& t' G, O& J7 ]
03 需要安装的工具: s$ M5 t$ X* l8 F+ ^# \" w/ q
若想STM32CubeIDE支持上位机开发,除了安装STM32CubeIDE之外,需要一个支持windows的gcc编译器。这里安装的是mingw64。同时需要将mingw64的bin目录加入到系统路径中去。例如:* T# N8 F- Z2 m; o
21.png
如果安装成功,在windows的命令行窗口输入gcc-v,可以得到如下输出:
8 d3 j5 K* s$ f: N
22.png
Gcc 13.2.0是一个比较新的版本,你可以根据你的需要使用其他的mingw64 gcc。这里没有特别的推荐,因为你只是开发一个辅助STM32开发的工具,用来帮助你验证算法。; e! t5 T4 x. z4 R, c
& d$ @  O' s' c9 l* [
6 e; h6 n* o( m! P2 E. u- P
04 STM32CubeIDE的配置# R" x- k6 h7 w5 Z
一旦你安装了gcc并设置了路径,那么就可以直接使用STM32CubeIDE来开发windows工具了。! G  Q5 L8 E; T1 P$ r3 b

( D. q  z, X* \
& e1 v& T9 \1 o' V1 c
选择【file】->【new】->【C/C++Project】) i; L7 ^/ Q3 R6 g/ g, }
23.png
然后为了符合MCU习惯,可简单的选择【C managed Build】,然后点击next。' L/ {9 x) n! C/ S% ]" O) N- S+ t, E
24.png
最后在以下画面中选择【Hello World ANSI C Project】,然后选中【MinGW GCC】,同时输入【Project name】为hello,最后点击【Finish】,完成所有配置。
* `$ C& B% @1 x' q
25.png
最终的工程结构如下:
, }- s- v5 D8 }% T7 N  m' n
26.png
所生成的hello代码如下:
! y; z- h5 f# D. o
27.png
05 编译* u0 j2 V" ?- r/ F/ C/ u3 P
直接使用MCU开发最熟悉的菜单【Build All】或者在存在多个工程只编译选中的项目的【Build Project】。
/ f5 X* W" C  Y* s& Z% C: e" Q
28.png
可以看到编译成功的信息如下:
& ^* U% I: x" {; c
29.png
如果要修改编译配置,使用的菜单和以前一样,依然是【Project】->【Properties】。1 I6 z' ]! s& e- D0 b; {
30.png
然后选择【C/C++Build】->【Settings】。只不过工具链是通用的gcc工具链。
0 \0 \5 V6 U/ r, }4 c( b2 Y+ I
31.png
& M9 C3 c, V2 v2 D
0 P  K* O* C9 G$ c/ [: ^
06 调试
, I+ s) @' u, v0 R! ~调试依然选择【Debug configuration】,只不过要选择【C/C++Application】,如下:( K! P7 C. r' o) U3 ~( _' V, E
32.png
进行调试配置时,依然可以双击菜单,这里的菜单是【C/C++Application】,可以得到。
$ X1 @/ d( H# m, l3 U. l/ @
33.png
直接点击【Debug】就可以了。
7 G6 ]3 g5 K, o1 d8 I. D7 b: F6 X9 s% t: g9 [" L) N6 P7 W' b. m

  b* ?, w, O8 L9 B* \/ y8 Z% `" h2 A0 i其他的调试操作和使用STM32CubeIDE进行STM32开发是一样的,这里就不再重复。当然有些菜单本身是为STM32 MCU所特别添加的,那么在调试界面就无法使用。
! `5 _( E4 H# H4 ^2 g4 m& i* l% N) v/ C0 G$ p

, ^0 V/ C% ?  H8 O2 k  G+ e07 小结; z) p& W) ^; j- E" b: k
你可以看到在使用STM32CubeIDE时,无需掌握Makefile的复杂写法,而且可以重用许多MCU的经验来开发验证算法的桌面小工具。不过这里的例子几乎没有写一行代码,实际中你需要将你的算法代码象MCU开发一样加入到工程里。$ K" Z& C3 ^6 D2 a8 Z

3 e) c* S& \; q( U! @点击下载详情>>- \2 ?# r7 I4 j. t; p" |
8 T: G" b+ @# s' ^7 I8 c* t

' X3 R* f! ^. I" `( @( Y
5 f+ T  U8 ^4 }
赞 收藏 评论0 发布时间:2025-11-11 13:50

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版