STM32CubeIDE是ST提供的官方开发环境,但是其是基于Eclipse的。相对于更为现代的工具,使用起来不是那么便捷和高效,代码高亮和自动格式化功能也比较单一。利用VSCode编辑器以及一些第三方插件,也可以实现STM32的开发和调试。
需要的工具包括:
C/C++ IntelliSense;
Cortex-Debug;
stm32-for-vscode;
以及:
ARM-none-eabi工具链 (编译和GDB)
OpenOCD (烧写调试)
STM32CubeMX (芯片配置和项目文件生成)
安装好需要的工具后,设置对应工具的路径,stm32-for-vscode插件基本能自动处理项目编译和调试所需的配置。但是遇到了几个问题:
1. OpenOCD版本过旧可能不支持新版ST-Link V3。比如Ubuntu20.04的APT源就只有0.10没有0.11。可以去官网下载编译好的包并配置stm32-for-vscode路径。
2. arm-none-eabi-gdb在执行调试时无法运行。表现是调试控制栏闪一下就消失,output和debug console没有报错信息。发现是因为系统缺少运行库:libncursesw5。在终端内直接运行gdb的话就会有报错找不到lib.....so.5,安装后问题解决。(搜索该库的时候看到有libncursesw5和6,用apt-file查看包内文件,只有libncursesw5有.so.5这个库文件。)
2022年11月25日