VSCode配置STM32 HAL库开发环境
创作时间:
作者:
@小白创作中心
VSCode配置STM32 HAL库开发环境
引用
1
来源
1.
https://www.cnblogs.com/ajream/p/18422494
本文将详细介绍如何在VSCode上配置STM32 HAL库开发环境。从开发工具的下载到项目的创建,再到最终的编译和调试,每个步骤都配有详细的说明和命令行示例,适合有一定基础的嵌入式开发人员参考学习。
1. 开发工具下载
STM32CubeMX
- 下载地址:可通过ST官方网站以访客方式下载
- 安装说明:安装时一直默认即可
STM32固件库
- 在线下载方式:安装好STM32CubeMX后,在菜单栏【Help】->【Manage Embedded Software Packages】里选择合适的固件库下载
- 离线下载方式(以STM32F1系列为例):可通过ST官方网站下载,下载后,打开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一样都是代码构建工具,最终都是通过调用GCC完成代码的编译。使用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】下载即可
VSCode
- 安装C++插件
- 安装CMake Tools插件
2. 创建项目
(1) 打开STM32CubeMX
选择芯片、项目配置……参考文章:STM32CubeMX学习笔记(1)——搭建环境、编译烧写_stm32cubemx编译烧录-CSDN博客
注意在生成代码前,按照下面的方式配置:
(2) 打开VSCode
在VSCode打开刚生成的STM32项目,输入快捷键 Ctrl+Shift+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
热门推荐
从自动化到智能化:AI如何革新现代办公模式
车前草怎么种植(车前草的栽培管理技术)
黄芪能治失眠吗?专家给出专业解答
ESG解读|字节跳动全员反腐被辞人员猛增55人,采购部独立性及业务透明度需加强
乳制品中常见微生物污染及控制措施
家里面如何做仓库管理工作
保险理赔诉讼必知:材料清单与律师费承担规则
密尔岱玉石矿:汉代即闻名的和田玉产地,现公开招商
五花肉做菜肉饭更优:口感好、易烹饪且更实惠
叶城玉矿:传统玉石产业拥抱新能源时代
植物角鲨烷:护肤界的环保新宠
2025年全球航天三大突破:星舰试飞、商业空间站、深空探测
2025年企业信息部门:稳中求进,AI与数据资产成破局关键
江苏张家港香山风景区:自然与人文的完美融合
上海威尼斯小镇:青浦区的欧式水城度假胜地
上海威尼斯小镇:欧式风情里的慢时光
电视屏幕闪烁怎么办?六大原因及详细解决方案
剪映文字编辑技巧大揭秘!
剪映文字编辑完全指南:从基础到进阶,职场人必学技能!
考研各科平均分出炉:政治35分,英语47分,数学70分
考研英语最后90天冲刺:四大维度全面提升备考效率
考研初试考场指南:试卷处理与答题要点
巴黎打造史上最环保奥运:场馆改造率达95%,餐饮八成本地采购
哈尔滨冬季旅游住宿攻略:豪华酒店 vs 温馨民宿
哈尔滨亲子游住宿攻略:美丽岛vs枫叶小镇,哪家更适合带娃?
哈尔滨必打卡特色餐厅,范记永饺子馆领衔
哈尔滨下周冻哭预警!这样穿才不会被冻僵
国际快递丢件处理与预防:六招降低包裹丢失风险
快递丢失可拨打12305,民法典明确企业赔偿责任
狗狗食欲下降?7大原因及改善方法一文掌握