STM32使用VScode开发

文章目录

        • Makefile形式创建项目
          • 新建stm项目
          • 下载stm32cubemx
          • 新建项目
          • IED makefile
          • 保存到本地
          • arm gcc是编译的工具链
          • G++配置
          • 编译
        • Cmake +vscode +MSYS2方式
          • bilibili
          • MSYS2 统一环境配置
          • mingw32-make -> make
          • windows环境变量
          • Cmake CmakeList
          • nijia 编译输出elf
          • CMAKE_GENERATOR查询
          • 改为生成makefile文件
          • make编译输出elf
          • elf文件
          • 烧录
        • 云调试
          • wokwi.toml
          • diagram.json
          • 实物录制效果
          • 源代码
        • 新增控制端口
          • 接一个4脚开关
          • 原件连接图
          • 修改后源码
          • Ctrl+Shift+P 查看效果
          • 点灯视频
        • 索引配置
          • Debug
          • 新增配置
          • 配置elf
          • 配置configfiles
          • 调试中
        • 其他
          • CLT下载
          • 接线图
          • 原理图

Makefile形式创建项目
新建stm项目

https://blog.csdn.net/Brendon_Tan/article/details/107869664

下载stm32cubemx

https://www.st.com/en/development-tools/stm32cubemx.html
~~
STM32f103C8T6

新建项目

在这里插入图片描述

IED makefile

在这里插入图片描述

保存到本地

在这里插入图片描述

arm gcc是编译的工具链

https://developer.arm.com/downloads/-/gnu-rm
在这里插入图片描述

G++配置

在这里插入图片描述

编译

在这里插入图片描述

Cmake +vscode +MSYS2方式
bilibili

全文参考bilibili博主视频教程,感兴趣的可以去了解下

MSYS2 统一环境配置

https://packages.msys2.org/packages/mingw-w64-x86_64-openocd

在这里插入图片描述

mingw32-make -> make

改名mingw32-make.exe -> make.exe
在这里插入图片描述

windows环境变量

在这里插入图片描述

Cmake CmakeList

cmake ..
OR
cmake -G Ninja ..默认为ninja
在这里插入图片描述

nijia 编译输出elf

在这里插入图片描述

CMAKE_GENERATOR查询

message(STATUS "==========CMAKE_GENERATOR==========: ${CMAKE_GENERATOR}")
在这里插入图片描述
cmake .. -N -L

改为生成makefile文件

cmake -G "Unix Makefiles" ..
在这里插入图片描述
生成如下
在这里插入图片描述

make编译输出elf

make -j16
在这里插入图片描述

elf文件

在这里插入图片描述

烧录

openocd -f interface/stlink.cfg -f target/stm32f1x.cfg -c "program G:/WorkSpace_Thing/Stm32Test/build/Debug/Stm32Test.elf verify reset exit""

云调试
wokwi.toml

在这里插入图片描述

diagram.json
 {"version": 1,"author": "Uri Shaked","editor": "wokwi","parts": [{"type": "board-stm32-bluepill","id": "stm32","top": -174.16,"left": -262.83,"attrs": {}},{"type": "wokwi-led","id": "led1","top": -174

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

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

相关文章

Oracle 12c 中的 CDB和PDB的启动和关闭

一、简介 Oracle 12c引入了多租户架构,允许一个容器数据库(Container Database, CDB)托管多个独立的可插拔数据库(Pluggable Database, PDB)。本文档旨在详细描述如何启动和关闭CDB及PDB。 二、容器数据库 (CDB) 2.1…

网络仿真工具Core环境搭建

目录 安装依赖包 源码下载 Core安装 FAQ 下载源码TLS出错误 问题 解决方案 找不到dbus-launch 问题 解决方案 安装依赖包 调用以下命令安装依赖包 apt-get install -y ca-certificates git sudo wget tzdata libpcap-dev libpcre3-dev \ libprotobuf-dev libxml2-de…

FPGA实现任意角度视频旋转(二)视频90度/270度无裁剪旋转

本文主要介绍如何基于FPGA实现视频的90度/270度无裁剪旋转,旋转效果示意图如下: 为了实时对比旋转效果,采用分屏显示进行处理,左边代表旋转前的视频在屏幕中的位置,右边代表旋转后的视频在屏幕中的位置。 分屏显示的…

JavaEE:多线程进阶

JavaEE:多线程进阶 一、对比不同锁策略之间的应用场景及其区别1. 悲观锁 和 乐观锁1.1 定义和原理1.2 应用场景1.3 示例代码 2. 重量级锁 和 轻量级锁2.1 定义和原理2.2 应用场景2.3 示例代码 3. 挂起等待锁 和 自旋锁3.1 定义和原理3.2 应用场景3.3 示例代码 4. 几…

董事会办公管理系统的需求设计和实现

该作者的原创文章目录: 生产制造执行MES系统的需求设计和实现 企业后勤管理系统的需求设计和实现 行政办公管理系统的需求设计和实现 人力资源管理HR系统的需求设计和实现 企业财务管理系统的需求设计和实现 董事会办公管理系统的需求设计和实现 公司组织架构…

pytest自动化测试 - pytest夹具的基本概念

<< 返回目录 1 pytest自动化测试 - pytest夹具的基本概念 夹具可以为测试用例提供资源(测试数据)、执行预置条件、执行后置条件&#xff0c;夹具可以是函数、类或模块&#xff0c;使用pytest.fixture装饰器进行标记。 1.1 夹具的作用范围 夹具的作用范围&#xff1a; …

esp32-C3 实现DHT11(温湿度)

安装DHT传感器库&#xff1a; 在Arduino IDE中&#xff0c;进入项目 > 加载库 > 管理库。搜索DHT sensor library并安装。 编写代码 定义引脚和传感器类型初始化传感器判断传感器是否正常读取数据 源码 #include <DHT.h> #include <DHT_U.h>// 定义DHT传感器…

java构建工具之Gradle

自定义任务 任务定义方式&#xff0c;总体分为两大类:一种是通过 Project 中的task()方法,另一种是通过tasks 对象的 create 或者register 方法。 //任务名称,闭包都作为参数println "taskA..." task(A,{ }) //闭包作为最后一个参数可以直接从括号中拿出来println …

【Pytest】生成html报告中,中文乱码问题解决方案

import pytestif __name__ "__main__":# 只运行 tests 目录下的测试用例&#xff0c;并生成 HTML 报告pytest.main([-v, -s, --htmlreport.html, tests])可以以上方式生成&#xff0c;也可以在pytest.ini中设置 [pytest] addopts --htmlreport.html --self-contai…

MyBatis最佳实践:提升数据库交互效率的秘密武器

第一章&#xff1a;框架的概述&#xff1a; MyBatis 框架的概述&#xff1a; MyBatis 是一个优秀的基于 Java 的持久框架&#xff0c;内部对 JDBC 做了封装&#xff0c;使开发者只需要关注 SQL 语句&#xff0c;而不关注 JDBC 的代码&#xff0c;使开发变得更加的简单MyBatis 通…

《Java程序设计》课程考核试卷

一、单项选择题&#xff08;本大题共10个小题&#xff0c;每小题2分&#xff0c;共20分&#xff09; 1.下列用来编译Java源文件为字节码文件的工具是&#xff08; &#xff09;。 A.java B.javadoc C.jar D.javac 2…

【25考研】人大计算机考研复试该怎么准备?有哪些注意事项?

人大毕竟是老牌985&#xff0c;复试难度不会太低&#xff01;建议同学认真复习&#xff01;没有机试还是轻松一些的&#xff01; 一、复试内容 由公告可见&#xff0c;复试包含笔试及面试&#xff0c;没有机试&#xff01; 二、参考书目 官方无给出参考书目&#xff0c;可参照…

vue3中Teleport的用法以及使用场景

1. 基本概念 Teleport 是 Vue3 提供的一个内置组件&#xff0c;它可以将组件的内容传送到 DOM 树的任何位置&#xff0c;而不受组件层级的限制。这在处理模态框、通知、弹出菜单等需要突破组件层级限制的场景中特别有用。 1.1 基本语法 <template><teleport to&quo…

使用openwrt搭建ipsec隧道

背景&#xff1a;最近同事遇到了个ipsec问题&#xff0c;做的ipsec特性&#xff0c;ftp下载ipv6性能只有100kb, 正面定位该问题也蛮久了&#xff0c;项目没有用openwrt, 不过用了开源组件strongswan, 加密算法这些也是内核自带的&#xff0c;想着开源的不太可能有问题&#xff…

基于AnolisOS 8.6安装GmSSL 3.1.1及easy_gmssl库测试国密算法

测试环境 Virtual Box&#xff0c;AnolisOS-8.6-x86_64-minimal.iso&#xff0c;4 vCPU, 8G RAM, 60 vDisk。最小化安装。需联网。 系统环境 关闭防火墙 systemctl stop firewalld systemctl disable firewalld systemctl status firewalld selinux关闭 cat /etc/selinux/co…

HTML从入门到精通:链接与图像标签全解析

系列文章目录 01-从零开始学 HTML&#xff1a;构建网页的基本框架与技巧 02-HTML常见文本标签解析&#xff1a;从基础到进阶的全面指南 03-HTML从入门到精通&#xff1a;链接与图像标签全解析 文章目录 系列文章目录前言一、链接与图像标签&#xff08;HTML 标签基础&#xff…

[STM32 - 野火] - - - 固件库学习笔记 - - -十一.电源管理系统

一、电源管理系统简介 电源管理系统是STM32硬件设计和系统运行的基础&#xff0c;它不仅为芯片本身提供稳定的电源&#xff0c;还通过多种电源管理功能优化功耗、延长电池寿命&#xff0c;并确保系统的可靠性和稳定性。 二、电源监控器 作用&#xff1a;保证STM32芯片工作在…

数字图像处理:实验六

uu们&#xff01;大家好&#xff0c;2025年的新年就要到来&#xff0c;咸鱼哥在这里祝大家在2025年每天开心快乐&#xff0c;天天挣大钱&#xff0c;自由自在&#xff0c;健健康康&#xff0c;万事如意&#xff01;&#xff08;要是咸鱼哥嘴笨的话&#xff0c;还望大家多多包涵…

Langchain+文心一言调用

import osfrom langchain_community.llms import QianfanLLMEndpointos.environ["QIANFAN_AK"] "" os.environ["QIANFAN_SK"] ""llm_wenxin QianfanLLMEndpoint()res llm_wenxin.invoke("中国国庆日是哪一天?") print(…

上海亚商投顾:沪指冲高回落 大金融板块全天强势 上海亚商投

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一&#xff0e;市场情绪 市场全天冲高回落&#xff0c;深成指、创业板指午后翻绿。大金融板块全天强势&#xff0c;天茂集团…