【ESP32之旅】合宙ESP32-C3 使用PlatformIO编译和Debug调试

工程创建

首先打开PIO Home窗口,然后点击New Project来创建新的工程,工程配置选择如下图所示:

注:

选择板子型号的时候需要选择ESP32C3,勾选取消Location可以自定义路径。
请添加图片描述

修改配置文件

工程创建完毕之后在工程根目录中会生成一个platformio.ini的配置文件,此配置文件描述了工程中的一些编译配置项和平台参数类似于Arduino中的编译选项,目录结构如下图所示。
请添加图片描述

支持USB 串口

合宙的ESP32-C3精简版为了降低成本没有使用USB转TTL芯片,而是直接使用了USB Slave模拟串口,因此在编译时需要打开USB CDC配置项

build_flags =								;添加编译链接配置项,类似于Makefile中的-D flag 链接参数,会在编译时链接进代码中以开启对应功能宏-D ARDUINO_USB_MODE=1						;开启USB Slave 功能-D ARDUINO_USB_CDC_ON_BOOT=1				;开启CDC 下载功能宏

注:

ESP32C3芯片内置USB接口,支持USB CDC,说明可以跳过USB转串口芯片对模组进行下载。有两个选项:Enable:这种选项是要在没有串口芯片的情况下选择;Disable:有串口芯片,选择Disable。

当USB CDC On Boot选择为Enable,但是板子又有串口芯片,这时候串口是不能使用的,也就是无法收发串口信息。Enable选项通常是在省成本的板子,没有USB转串口芯片上使用这个配置,否则板载有串口芯片都选择使用Disable即可。

支持DIO模式

合宙的ESP32C3 为了能提供能多的IO并没有采用QIO的方式而是采用的DIO, 因此需要在配置文件中设置其模式为DIO

board_build.flash_mode = dio				;flash 访问模式 DIO

配置调试

如果需要在PIO中支持Debug,需要开启相关配置项来支持不同的调试器。因为ESP32C3内置了一个USB JTAG Bridge,所以可以直接使用内置的JTAG,相关配置项修改如下:

请添加图片描述

debug_tool = esp-builtin				;内置调试器 进行调试
debug_tool = esp-builtin				;内置调试器 进行代码下载
upload_speed = 2000000					;Jtag最大传输速度2MHz

修改完配置信息后点击界面下的调试按钮即可开始调试。

请添加图片描述

完整的配置项

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html[env:airm2m_core_esp32c3]
platform = espressif32
board = airm2m_core_esp32c3
framework = arduinoboard_build.flash_mode = dio
debug_tool = esp-builtin
;debug_init_break = tbreak setup
;debug_init_break = tbreak loop         目前测试有问题开启后无法打断点
upload_protocol = esp-builtin
upload_speed = 2000000build_flags =-D ARDUINO_USB_MODE=1-D ARDUINO_USB_CDC_ON_BOOT=1

效果展示

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

菜鸡学习netty源码(三)—— Reactor 模型

1.概述 我们先进行理解一下Reactor模型,知道什么是Reactor模型,它有什么特别之处。我们先来简单介绍一下这个Reactor模型。 Reactor模型的核心思想: 就是将所关注的I/O事件进行注册到一个多路复用器上,一旦有I/O事件的发生&#…

Redis---------实现商品秒杀业务,包括唯一ID,超卖问题,分布式锁

订单ID必须是唯一 唯一ID构成: 代码生成唯一ID: import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.tim…

云商城系统,无后门,一站式系统Java源码

云商城系统,无后门,一站式系统Java源码,心权益商品数量不限数量 系统对接 手动发货 自动发货 兑 换 码 订单监控 商品监控 对象存储 邮箱提醒 加价模板 密价功能 三方支付 会员体系 财务明细 交易分析 售后服务 技术支持 建议配置&#xf…

使用PyTorch从头实现Transformer

前言 本文使用Pytorch从头实现Transformer,原论文Attention is all you need paper,最佳解读博客,学习视频GitHub项目地址Some-Paper-CN。本项目是译者在学习长时间序列预测、CV、NLP和机器学习过程中精读的一些论文,并对其进行了…

BUUCTF---misc---被偷走的文件

1、题目描述 2、下载附件,是一个流量包,拿去wireshark分析,依次点开流量,发现有个流量的内容显示flag.rar 3、接着在kali中分离出压缩包,使用下面命令,将压缩包,分离出放在out3文件夹中 4、在文…

【docker】常用的Docker编排和调度平台

常用的Docker编排和调度平台 Kubernetes (K8s): Kubernetes是目前市场上最流行和功能最全面的容器编排和调度平台。它由Google开发并开源,现由CNCF(云原生计算基金会)维护。Kubernetes设计用于自动化容器部署、扩展和管理,支持跨…

《金融研究》:普惠金融改革试验区DID工具变量数据(2012-2023年)

数据简介:本数据集包括普惠金融改革试验区和普惠金融服务乡村振兴改革试验区两类。 其中,河南兰考、浙江宁波、福建龙岩和宁德、江西赣州和吉安、陕西铜川五省七地为普惠金融改革试验区。山东临沂、浙江丽水、四川成都三地设立的是普惠金融服务乡村振兴…

C#知识|事件集中响应,多个按钮关联同一事件(实例练习)

哈喽,你好,我是雷工! 本节学习窗体Controls集合、控件事件的统一关联及如何优化重复代码。 01 事件集中响应 原理:就是相同的控件,可以关联同一个事件响应方法。 02 示例演示 2.1、示例功能 该示例实现窗体中选择…

Idea 自动生成测试

先添加测试依赖&#xff01;&#xff01; <!--Junit单元测试依赖--><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.9.1</version><scope>test</scope><…

Sass语法---sass的安装和引用

什么是Sass Sass&#xff08;英文全称&#xff1a;Syntactically Awesome Stylesheets&#xff09; Sass 是一个 CSS 预处理器。 Sass 是 CSS 扩展语言&#xff0c;可以帮助我们减少 CSS 重复的代码&#xff0c;节省开发时间。 Sass 完全兼容所有版本的 CSS。 Sass 扩展了…

每日OJ题_贪心算法二④_力扣2418. 按身高排序

目录 力扣2418. 按身高排序 解析代码 力扣2418. 按身高排序 2418. 按身高排序 难度 简单 给你一个字符串数组 names &#xff0c;和一个由 互不相同 的正整数组成的数组 heights 。两个数组的长度均为 n 。 对于每个下标 i&#xff0c;names[i] 和 heights[i] 表示第 i 个…

C#简单创建DLL文件并调用

DLL是Dynamic Link Library的缩写&#xff0c;意为动态链接库。动态链接库其实是由编译器将一系列相关的类型编译、链接并封装成一个独立的文件&#xff0c;与对其进行调用的程序分开。这样一个独立的文件相当于程序的一个模块&#xff0c;如果需要对程序进行更新&#xff0c;只…

如何完全卸载QT

第一步&#xff0c;用QT自带的软件卸载QT 第二步&#xff0c;卸载下面路径的所有QT配置 C:用户/(你的用户)/AppData/Local/目录下所有与Qt相关内容 C:用户/(你的用户)/AppData/Local/Temp/所有与Qt相关内容 C:用户/(你的用户)/AppData/Roaming/所有与Qt相关内容

华为机考入门python3--(19)牛客19- 简单错误记录

分类&#xff1a;字符串 知识点&#xff1a; 分割字符串 my_str.split(\\) 字符串只保留最后16位字符 my_str[-16:] 列表可以作为队列、栈 添加元素到第一个位置 my_list.insert(0, elem) 增加元素到最后一个位置 my_list.append(elem) 删除第一个 my_list.pop(0)…

ElasticSearch01(ES简介,安装ES,操作索引,操作文档,RestAPI)【全详解】

目录 一、ES简介 1. 数据库查询的问题 2. ES简介 1 ElasticSearch简介 2 ElasticSearch发展 3. 倒排索引【面试】 1 正向索引 2 倒排索引 4. ES和MySql 5. 小结 二、安装ES 1. 方式1:使用docker安装 1 准备工作 2 创建ElasticSearch容器 3 给ElasticSearch配置i…

从零开始学AI绘画,万字Stable Diffusion终极教程(一)

【第1期】SD入门 2022年8月&#xff0c;一款叫Stable Diffusion的AI绘画软件开源发布&#xff0c;从此开启了AIGC在图像上的爆火发展时期 率先学会SD的人&#xff0c;已经挖掘出了越来越多AI绘画有趣的玩法 从开始的AI美女、线稿上色、真人漫改、头像壁纸 到后来的AI创意字、AI…

ARP欺骗使局域网内设备断网

一、实验准备 kali系统&#xff1a;可使用虚拟机软件模拟 kali虚拟机镜像链接&#xff1a;https://www.kali.org/get-kali/#kali-virtual-machines 注意虚拟机网络适配器采用桥接模式 局域网内存在指定断网的设备 二、实验步骤 打开kali系统命令行&#xff1a;ctrlaltt可快…

Docker 加持的安卓手机:随身携带的知识库(一)

这篇文章聊聊&#xff0c;如何借助 Docker &#xff0c;尝试将一台五年前的手机&#xff0c;构建成一个随身携带的、本地化的知识库。 写在前面 本篇文章&#xff0c;我使用了一台去年从二手平台购入的五年前的手机&#xff0c;K20 Pro。 为了让它能够稳定持续的运行&#xf…

MySQL技能树学习——数据库组成

数据库组成&#xff1a; 数据库是一个组织和存储数据的系统&#xff0c;它由多个组件组成&#xff0c;这些组件共同工作以确保数据的安全、可靠和高效的存储和访问。数据库的主要组成部分包括&#xff1a; 数据库管理系统&#xff08;DBMS&#xff09;&#xff1a; 数据库管理系…

【LeetCode刷题】410. 分割数组的最大值

1. 题目链接2. 题目描述3. 解题方法4. 代码 1. 题目链接 410. 分割数组的最大值 2. 题目描述 3. 解题方法 题目中提到的是某个和的最大值是最小的&#xff0c;这种题目是可以用二分来解决的。 确定区间&#xff0c;根据题目的数据范围&#xff0c;可以确定区间就是[0, 1e9]…