1. 前言
上位机工具,是 STM32 开发人员特别是算法开发人员需要面对的一个需求,一般需要专门的桌面环境和语言。MCU开发人员使用最多的环境,是 MCU 的环境,使用最多的语言是 C语言。本文提供一个例子 hello world 例程,使 STM32 开发人员能够在熟悉的STM32CubeIDE 环境通过熟悉的 C 语言进行小工具的开发,为 MCU 各种算法在 PC 上的验证提供一个基础。
2. 关于 python
如果读者熟悉 python,或者了解其他的语言和环境,在做工具时可以根据需要自行选择,本文并没有任何偏好。本文使用 C 语言,主要是从实际出发,很多时候你运行在 STM32 上的算法,是 C 代码,例如 X-Cube-AI 所生成的 MCU 代码,那么直接使用 C 语言进行验证,只是使用不同的编译环境,更加贴近最后的 MCU 算法代码运行结果。
3. 需要安装的工具
若想 STM32CubeIDE 支持上位机开发,除了安装 STM32CubeIDE 之外,需要一个支持windows 的 gcc 编译器。这里安装的是 mingw64。同时需要将 mingw64 的 bin 目录加入到系统路径中去。例如:
如果安装成功,在 windows 的命令行窗口输入 gcc -v,可以得到如下输出:
Gcc 13.2.0 是一个比较新的版本,你可以根据你的需要使用其他的 mingw64 gcc。这里没有特别的推荐,因为你只是开发一个辅助 STM32 开发的工具,用来帮助你验证算法。
4. STM32CubeIDE 的配置
一旦你安装了 gcc 并设置了路径,那么就可以直接使用 STM32CubeIDE 来开发 windows工具了。
选择【file】->【new】->【C/C++ Project】
然后为了符合 MCU 习惯,可简单的选择【C managed Build】,然后点击 next。
最后在以下画面中选择【Hello World ANSI C Project】,然后选中【MinGW GCC】,同时输入【Project name】为 hello,最后点击【Finish】,完成所有配置。
最终的工程结构如下:
所生成的 hello 代码如下:
5. 编译直接使用 MCU 开发最熟悉的菜单【Build All】或者在存在多个工程只编译选中的项目的【Build Project】.
可以看到编译成功的信息如下:
如果要修改编译配置,使用的菜单和以前一样,依然是【Project】->【Properties】。
然后选择【C/C++Build】->【Settings】。只不过工具链是通用的 gcc 工具链。
6. 调试调试依然选择【Debug configuration】,只不过要选择【C/C++ Application】,如下:
进行调试配置时,依然可以双击菜单,这里的菜单是【C/C++ Application】,可以得到
直接点击【Debug】就可以了。
其他的调试操作和使用 STM32CubeIDE 进行 STM32 开发是一样的,这里就不再重复。当然有些菜单本身是为 STM32 MCU 所特别添加的,那么在调试界面就无法使用。
7. 小结
你可以看到在使用 STM32CubeIDE 时,无需掌握 Makefile 的复杂写法,而且可以重用许多 MCU 的经验来开发验证算法的桌面小工具。不过这里的例子几乎没有写一行代码,实际中你需要将你的算法代码象 MCU 开发一样加入到工程里。
|