VSCode配置STM32HAL库开发环境

news/2024/11/15 21:29:31/文章来源:https://www.cnblogs.com/ajream/p/18422494

1. 开发工具下载

  1. 下载STM32CubeMX:https://www.st.com.cn/zh/development-tools/stm32cubemx.html(可通过访客方式下载)

    安装时一直默认即可

  2. 下载stm32固件库:

    • 在线下载方式(需要登陆):安装好STM32CubeMX后,在菜单栏【Help】->【Manage Embedded Software Packages】里选择合适的固件库下载

    • 离线下载方式(以stm32f1系列为例):https://www.st.com.cn/zh/embedded-software/stm32cubef1.html?dl=redirect

      image-20240920134107090

      下载后,打开stm32cubemx,点击菜单栏【Help】->【Manage Embedded Software Packages】->左下角【From Local】,然后选择刚下载的zip文件即可

  3. 下载cmake:https://cmake.org/download/,然后解压到一个不含中文的路径,再把文件夹bin路径添加到环境变量

    image-20240920134611599

  4. 下载ninja:https://github.com/ninja-build/ninja/releases,选择一个路径创建ninja文件夹,把ninja.exe放进去,再把ninja文件夹添加到环境变量

  5. 下载gcc-arm-none-eabi:https://developer.arm.com/downloads/-/gnu-rm,解压后,把binarm-none-eabi/bin文件夹添加到环境变量

    image-20240920135324879

  6. 下载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或终端,输入以下命令确保安装和环境变量配置没问题:

image-20240920140952988

image-20240920141119664

  1. VsCode下载

    • 安装C++插件

    • 安装cmake tools插件

      image-20240920141419215

2. 创建项目

(1) 打开stm32cubemx

选择芯片、项目配置……参考文章:STM32CubeMX学习笔记(1)——搭建环境、编译烧写_stm32cubemx编译烧录-CSDN博客

注意在生成代码前,按照下面的方式配置:

image-20240920142157881

(2) 打开vscode

  1. 在vscode打开刚生成的stm32项目,输入快捷键 ctrl+ship+p,输入命令:cmake:select Configure,选择

    image-20240920143029392

  2. 然后继续输入命令进行配置

    image-20240920143223311

    配置成功输出:

    image-20240920144023070

  3. 左下角点击【生成】进行编译,编译后会生成build文件夹, 编译产生的文件都在里面

    image-20240920143338788

    编译成功输出:

    image-20240920144153687

如果要生成hex文件,打开CMakeLists.txt文件,在最后添加下面几行代码,然后重新编译即可。

image-20240920143606498

add_custom_command(TARGET ${CMAKE_PROJECT_NAME}  POST_BUILDCOMMAND ${CMAKE_OBJCOPY} -O ihex "${CMAKE_PROJECT_NAME}.elf" "${CMAKE_PROJECT_NAME}.hex"
)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/800535.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes-POD生成 java dump文件

目录背景配置钩子函数验证 背景 在今天的线上业务中,某服务频繁重启。经过排查日志和事件信息,确认是由于 OOM(Out of Memory)导致服务重启。为了方便研发团队定位 OOM 的具体原因,我们决定在 OOM 发生时自动生成内存快照(heap dump),供后续分析使用。 关于 OOM 的详细…

3D游戏开发实战:QML与虚幻引擎

3D游戏开发实战:QML与虚幻引擎 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C++扩展开发视频课程 免费QT视频课程 您可以看免费1000+个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化…

掌握IT资产发现的三个步骤

IT 资产生态系统非常复杂,因为资产不断变化,包括新增资产、移除过时资产或修改现有资产。在这种动态环境中,IT 资产管理者很难全面查看所有拥有的资产。 根据Gartner的预测,到 2025 年,大约 30% 的关键基础设施组织将面临安全漏洞。而标准普尔全球评级公司最近的报告指出,…

php8:开启opcache和JIT(php 8.3.9)

一,配置文件中的项: opcache.enable=1 opcache.enable_cli=0 opcache.memory_consumption=128 opcache.max_accelerated_files=10000 opcache.revalidate_freq=240 opcache.save_comments=0 opcache.error_log=/data/logs/phplogs/opache_error.log opcache.enable=1 # …

vulnhub - medium_socnet

一台不错的教学靶机medium_socnet 基本信息 kali ip:192.168.157.161 靶机 ip:192.168.157.179 主机发现与端口扫描 nmap -sT --min-rate 10000 -p- 192.168.157.179 nmap -sT -sV -sC -O -p22,5000 192.168.157.179没什么可利用信息,web页面的输入框不会执行命令 目录扫描 …

【Swagger】Swagger入门和一些常见的问题

什么是Swagger swagger(丝袜哥)是当下比较流行的实时接口文档生成工具。前后端分离后,前后端交流比较重要的东西,就是接口文档。离线文档,最大的弊端就是接口程序发生变动的时候,需要回过头来维护上面的内容,确实比较玛法。 实时接口文档可以根据代码来自动生成相应的接口…

python--多态

多态:对于父类的一个方法,在不同的子类上有不同体现

C# html数据爬取与过滤

1.首先安装第三方HTML数据过滤包  HtmlAgilityPack 我爬取的网站是一个树洞网站:https://i.jandan.net/treehole,他是一个单体网站,不通过api请求,所以只能根据HTML过滤,他的分页是通过base64加密的 这是获取到的部分数据,这是我们需要的有效数据,他是有固定结构的,我…

使用代理进行3389/RDP远程桌面连接,流畅不卡,解决连接海外服务器线路问题卡顿

平时连接window海外服务器的时候,因为是通过IP直连,所以延迟非常高,并且不稳定。 原因:Window默认的远程桌面连接,不支持使用代理方式进行连接,使用的是直连,网络线路非常不稳定解决:使用parallels client客户端进行连接,支持使用代理 下载地址:https://www.parallel…

RK3568串口配置默认上拉

rockchip,pins =/* uart4_rxm0 */<1 RK_PA4 2 &pcfg_pull_up>,/* uart4_txm0 */<1 RK_PA6 2 &pcfg_pull_up>;

idea新版ui调出前进/后退箭头

查看源码或者查看类/方法定义,需要前进或者后退 Jetbrains IDE新UI设置前进/后退导航键_idea设置前进后退-CSDN博客

气象数据

GDAS(Global Data Assimilation System)全球数据同化系统,是美国国家气象局(National Weather Service, NWS)的一部分,它是一个复杂的系统,用于生成全球范围的气象分析数据。 1.FNL大气再分析数据集 是GDAS的最终分析产品,用于历史和气候研究 更新慢 1度的 https://rda…