VSCode配置STM32HAL库开发环境
1. 开发工具下载
-
下载STM32CubeMX:https://www.st.com.cn/zh/development-tools/stm32cubemx.html(可通过访客方式下载)
安装时一直默认即可
-
下载stm32固件库:
-
在线下载方式(需要登陆):安装好STM32CubeMX后,在菜单栏【Help】->【Manage Embedded Software Packages】里选择合适的固件库下载
-
离线下载方式(以stm32f1系列为例):https://www.st.com.cn/zh/embedded-software/stm32cubef1.html?dl=redirect
下载后,打开stm32cubemx,点击菜单栏【Help】->【Manage Embedded Software Packages】->左下角【From Local】,然后选择刚下载的zip文件即可
-
-
下载cmake:https://cmake.org/download/,然后解压到一个不含中文的路径,再把文件夹bin路径添加到环境变量
-
下载ninja:https://github.com/ninja-build/ninja/releases,选择一个路径创建ninja文件夹,把ninja.exe放进去,再把ninja文件夹添加到环境变量
注:ninja和make一样都是代码构建工具,因此网上也有很多文章使用make的,这2个都是可以的,最终都是通过调用gcc完成代码的编译,因此如果之前安装且使用过MinGW,就不用使用ninja了(MinGW里包含了一个mingw32-make的工具)。不过使用起来ninja编译速度会快一些。
-
下载gcc-arm-none-eabi:https://developer.arm.com/downloads/-/gnu-rm,解压后,把
bin
和arm-none-eabi/bin
文件夹添加到环境变量 -
下载openOCD(用于在线调试):https://gnutoolchains.com/arm-eabi/openocd/,选择一个下载、解压、环境变量配置即可
- 注:如果不需要在线调试,只是把程序下载到板子的话,可以通过串口下载hex文件的方式,这时不需要下载该软件,通过flymcu软件下载程序即可。flymcu下载链接:http://www.mcuisp.com/chinese mcuisp web/ruanjianxiazai-chinese.htm,选择【Free STM32 ISP software】下载即可
cmake、ninja、openocd、gcc-arm-none-eabi下载完且配置好环境变量后,打开cmd或终端,输入以下命令确保安装和环境变量配置没问题:
-
VsCode下载
-
安装C++插件
-
安装cmake tools插件
-
2. 创建项目
(1) 打开stm32cubemx
选择芯片、项目配置……参考文章:STM32CubeMX学习笔记(1)——搭建环境、编译烧写_stm32cubemx编译烧录-CSDN博客
注意在生成代码前,按照下面的方式配置:
(2) 打开vscode
-
在vscode打开刚生成的stm32项目,输入快捷键 ctrl+ship+p,输入命令:
cmake:select Configure
,选择
选择之后会生成一个CMakePreset.json
文件(需要cmake版本大于等于3.19才支持),如果使用make,generator
的值是MinGW Makefiles
,
使用ninja,generator
的值是Ninja
-
然后继续输入命令进行配置
配置成功输出:
-
左下角点击【生成】进行编译,编译后会生成build文件夹, 编译产生的文件都在里面
编译成功输出:
最后,如果要生成hex文件,打开CMakeLists.txt文件,在最后添加下面几行代码,然后重新编译即可。
add_custom_command(
TARGET ${CMAKE_PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_OBJCOPY} -O ihex "${CMAKE_PROJECT_NAME}.elf" "${CMAKE_PROJECT_NAME}.hex"
)
stm32CubeMX在生成项目的时候,项目下的cmake/gcc-arm-none-eabi.cmake文件包含了gcc配置信息,因此前面我们在下载安装好gcc-arm-none-eabi后需要配置好环境变量
3. 其它
如果使用clion,那么vscode以及对应插件不用下载了,配置起来很简单,就在settings里把工具链改为cmake和gcc-arm-none-eabi就行了
cmake options可以选择生成器,cmake支持的生成器可以通过命令 cmake --help
查看
本文来自博客园,作者:aJream,转载请记得标明出处:https://www.cnblogs.com/ajream/p/18422494
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)