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
热门推荐
2025 年重塑城市生活的8大关键智慧城市趋势
大肠经不通的症状表现及调理方法
压力失控的罪魁祸首是谁?溢流阀原理大揭秘!
西班牙国王杯:巴萨马竞狭路相逢,盘口解读与胜负预测
保健品批准文号有效期多久?
选择适合你的SSD容量,全面解析不同使用需求
牙齿修复需要做牙冠吗?多少人不懂就“死”在这一条
梦境解析:探索周公解梦中的陌生女性形象
这六个婚姻误区,看你有没有犯错
恶性肿瘤患者的饮食指南
商丘机场航站楼设计方案
如何在银行办理个人储蓄账户查询余额的多种方式?
怎么制作高质量短视频?6个技巧教会你!
南通海门:追新逐优,提升高质量发展“含金量”
车位买卖合同补充协议模板及写法
心绞痛急性发作,救命药该怎么选?
低血糖头晕怎么办
自小有这4种表现,说明严重缺爱,粗心父母还误以为孩子优秀
广东十大特产及各市特色美食全览
商标转让合同条款:确保交易安全与合法性的关键要素
减肥期间如何防止肌肉流失
近视孩子户外活动时间多久合适?
安全色和安全标志在工业安全中的作用是什么?
如何理解通货膨胀的形成原因?这些原因会带来哪些影响?
DNS基本知识以及OpenWrt路由器DNS配置详解
益阳必去的景点有哪些
如何确定房屋的九宫位?
开车不犯困的方法有哪些?这些方法如何有效实施?
湿疹的用药方法有哪些
笔记本显卡太差,该怎么提高