ESP32-C2 烧录

news2024/12/24 20:20:05

自动下载电路 dtr rts  ;WCH 提供了相应的芯片,实现自动下载 CH340X (*不要使用天问的下载器,电压为5V,下载前会重启电源,导致无法识别ESP芯片,修改,将电源线重引出

使用IDF编辑完成后(IDF.PY BUILD)后 在文件目录内有BOOTLOADER,分区表PARTIONS,和主文件 如下最后二行,地直 0X0 0X8000 0X10000 在FLASH LOBADER工具中

PS D:\espc2test\hello_world> idf.py build
Executing action: all (aliases: build)
Running ninja in directory D:\ESPC2TEST\hello_world\build
Executing "ninja all"...
[1/4] cmd.exe /C "cd /D D:\ESPC2TEST\hello_world\build\esp...-table.bin D:/ESPC2TEST/hello_world/build/hello_world.bin"hello_world.bin binary size 0x19c60 bytes. Smallest app partition is 0x100000 bytes. 0xe63a0 bytes (90%) free.
[1/1] cmd.exe /C "cd /D D:\ESPC2TEST\hello_world\build\boo... D:/ESPC2TEST/hello_world/build/bootloader/bootloader.bin"Bootloader binary size 0x4850 bytes. 0x37b0 bytes (44%) free.

Project build complete. To flash, run this command:
D:\Espressif\python_env\idf5.0_py3.11_env\Scripts\python.exe ..\..\Espressif\frameworks\esp-idf-v5.0.4\components\esptool_py\esptool\esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32c2  write_flash --flash_mode dio --flash_size 2MB --flash_freq 60m 0x0 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0x10000 build\hello_world.bin
or run 'idf.py -p (PORT) flash'

空白芯片,电路正常运行下,下载模式 UART0应该输出 WAIT FOR ...... (74880)FLASH启动下,会打印出芯片信息;

为简化搭建电路的复杂度,建议选择内置FLASH的芯片;请查看手册,只写了ESP32..后面没有H N R 的一般不带FLASH需要外配FLASH (C2 8266 S2 只支持到16M,其它未知)

写复杂了

天线那边加个电感(不加at+cwlap反回空)

烧录程序需要 io8 上拉 io9下载 (加10k电阻下拉)

烧录口为uart0 (烧at固件,输出为uart1)

chip_en 加10k 1uf(o.1uf) 电容电阻,加个开关 

烧录好后 io9县空,从flash启动 

idf.py -p com24不知为什么烧录总错误,使用flash downloader(at固件烧录工具却可以)

arduino 上没有c2的板;只有8266 c3 s2 s3 ; (所以只能用idf烧录或是flash downloader烧录)

晶振,没有晶振晶片运行不了;26M晶振下 uart0使用的波物率为74880; uart1为 115200 ; 40M下都为115200 (官方手册 (可以用源晶振,也可以无缘晶振 XLAT_N 输入 3  ;2 脚GND 3 out 4 vdd 3.3  1NC )

电源,每个电源都需要接上,你可以不接电容,电感,但都需要接上电源3.3 

可以运行,但建议用官方电路,更稳定 

1C2内置flash不需要外加flash模块;但在arduino上没有相应的开发板可选择 (使用at固件的下载工具 flashdownloader 或是idf开发包的下载工具)

GitHub - espressif/arduino-esp32: Arduino core for the ESP32

http://t.csdnimg.cn/3B6ZH AT指令使用

d41e90a8f91445f98e2dc9f9f1b98385.png

GitHub - espressif/arduino-esp32: Arduino core for the ESP32

2有两个串口uart0 用于下载固件,uart1 用于输入输出 信息 utx io8用于输出测试信息(查看at固件烧写教程)

硬件,原理图分散在多个文件中,查看模组文件或开发板文件

硬件指南

没有内部振荡器,需外加晶振,26M或40M,1.0含1.0的版本,只能使用26M晶振)

供电需要全部供上,否则无法正常工作 

原理图设计 - ESP32-C2 - — ESP 硬件设计指南 latest 文档

f3de3185d63c4666bf0fced1c04e8cb8.png

4 UART0 用于烧写固件 

3 io9 10k 下拉 io8 10k上拉 用于下载模式; 

5 uart1 rx tx 用于at 外部输出输出交互 

2需要一1个10k 1uf(0.1uf)电容,使用en上电时间 迟于vcc

1.晶振,必须,否则无法运行 

BOOT引脚  

dtr dcr 启动 

正常烧录的话应该显示下列信息

12:35:39: Error: Unable to set default locale: 'unsupported locale setting'
C:\Users\Administrator\Desktop\ESP32-C2-2MB-AT-V3.3.0.0\ESP32-C2-2MB-AT-V3.3.0.0\factory
D:\ESPC2TEST\hello_world\build\bootloader\bootloader.bin
D:\ESPC2TEST\hello_world\build\bootloader
D:\ESPC2TEST\hello_world\build\partition_table\partition-table.bin
D:\ESPC2TEST\hello_world\build\partition_table
D:\ESPC2TEST\hello_world\build\hello_world.bin
null
null
2 kill
test offset :  0 0x0
case ok
2 kill
test offset :  32768 0x8000
case ok
3 kill
test offset :  65536 0x10000
case ok
test offset :  0 0x0
case ok
test offset :  32768 0x8000
case ok
test offset :  65536 0x10000
case ok
dl_list:
 [['D:\\ESPC2TEST\\hello_world\\build\\bootloader\\bootloader.bin', 0], ['D:\\ESPC2TEST\\hello_world\\build\\partition_table\\partition-table.bin', 32768], ['D:\\ESPC2TEST\\hello_world\\build\\hello_world.bin', 65536]]
[0, 32768, 65536]
['D:\\ESPC2TEST\\hello_world\\build\\bootloader\\bootloader.bin', 'D:\\ESPC2TEST\\hello_world\\build\\partition_table\\partition-table.bin', 'D:\\ESPC2TEST\\hello_world\\build\\hello_world.bin']
i:  0
size_speed : 16
i:  1
i:  2
test offset :  0 0x0
case ok
test offset :  32768 0x8000
case ok
test offset :  65536 0x10000
case ok
dl_list:
 [['D:\\ESPC2TEST\\hello_world\\build\\bootloader\\bootloader.bin', 0], ['D:\\ESPC2TEST\\hello_world\\build\\partition_table\\partition-table.bin', 32768], ['D:\\ESPC2TEST\\hello_world\\build\\hello_world.bin', 65536]]
[0, 32768, 65536]
['D:\\ESPC2TEST\\hello_world\\build\\bootloader\\bootloader.bin', 'D:\\ESPC2TEST\\hello_world\\build\\partition_table\\partition-table.bin', 'D:\\ESPC2TEST\\hello_world\\build\\hello_world.bin']
i:  0
size_speed : 16
i:  1
i:  2
test offset :  0 0x0
case ok
test offset :  32768 0x8000
case ok
test offset :  65536 0x10000
case ok
.......................................................................................
Uploading stub...
Running stub...
Packet content transfer stopped (received 0 bytes)
[2024-07-31 12:37:13,128][ESP8266Loader_spi[1]][espDownloader.py][line:775][ERROR]: ESP32C2 Chip stub error esp_stub_and_set_baud.
no log file output ...
test offset :  0 0x0
case ok
test offset :  32768 0x8000
case ok
test offset :  65536 0x10000
case ok

Stub is already running. No upload is necessary.
Changing baud rate to 115200
Changed.
NO XMC flash  detected!
SPI_BOOT_CRYPT_CNT 0
SECURE_BOOT_EN False
Compressed 18512 bytes to 11283...
Compressed 3072 bytes to 103...
Compressed 105568 bytes to 56589...

 is stub and send flash finish



12:35:39: Error: Unable to set default locale: 'unsupported locale setting'
C:\Users\Administrator\Desktop\ESP32-C2-2MB-AT-V3.3.0.0\ESP32-C2-2MB-AT-V3.3.0.0\factory
D:\ESPC2TEST\hello_world\build\bootloader\bootloader.bin
D:\ESPC2TEST\hello_world\build\bootloader
D:\ESPC2TEST\hello_world\build\partition_table\partition-table.bin
D:\ESPC2TEST\hello_world\build\partition_table
D:\ESPC2TEST\hello_world\build\hello_world.bin
null
null
2 kill
test offset :  0 0x0
case ok
2 kill
test offset :  32768 0x8000
case ok
3 kill
test offset :  65536 0x10000
case ok
test offset :  0 0x0
case ok
test offset :  32768 0x8000
case ok
test offset :  65536 0x10000
case ok
dl_list:
 [['D:\\ESPC2TEST\\hello_world\\build\\bootloader\\bootloader.bin', 0], ['D:\\ESPC2TEST\\hello_world\\build\\partition_table\\partition-table.bin', 32768], ['D:\\ESPC2TEST\\hello_world\\build\\hello_world.bin', 65536]]
[0, 32768, 65536]
['D:\\ESPC2TEST\\hello_world\\build\\bootloader\\bootloader.bin', 'D:\\ESPC2TEST\\hello_world\\build\\partition_table\\partition-table.bin', 'D:\\ESPC2TEST\\hello_world\\build\\hello_world.bin']
i:  0
size_speed : 16
i:  1
i:  2
test offset :  0 0x0
case ok
test offset :  32768 0x8000
case ok
test offset :  65536 0x10000
case ok
dl_list:
 [['D:\\ESPC2TEST\\hello_world\\build\\bootloader\\bootloader.bin', 0], ['D:\\ESPC2TEST\\hello_world\\build\\partition_table\\partition-table.bin', 32768], ['D:\\ESPC2TEST\\hello_world\\build\\hello_world.bin', 65536]]
[0, 32768, 65536]
['D:\\ESPC2TEST\\hello_world\\build\\bootloader\\bootloader.bin', 'D:\\ESPC2TEST\\hello_world\\build\\partition_table\\partition-table.bin', 'D:\\ESPC2TEST\\hello_world\\build\\hello_world.bin']
i:  0
size_speed : 16
i:  1
i:  2
test offset :  0 0x0
case ok
test offset :  32768 0x8000
case ok
test offset :  65536 0x10000
case ok
.......................................................................................
Uploading stub...
Running stub...
Packet content transfer stopped (received 0 bytes)
[2024-07-31 12:37:13,128][ESP8266Loader_spi[1]][espDownloader.py][line:775][ERROR]: ESP32C2 Chip stub error esp_stub_and_set_baud.
no log file output ...
test offset :  0 0x0
case ok
test offset :  32768 0x8000
case ok
test offset :  65536 0x10000
case ok

Stub is already running. No upload is necessary.
Changing baud rate to 115200
Changed.
NO XMC flash  detected!
SPI_BOOT_CRYPT_CNT 0
SECURE_BOOT_EN False
Compressed 18512 bytes to 11283...
Compressed 3072 bytes to 103...
Compressed 105568 bytes to 56589...

 is stub and send flash finish



串口肋手程序内应显示如下内容 Helloword

[0;32mI (264) cpu_start: Pro cpu up.[0m
[0;32mI (276) cpu_start: Pro cpu start user code[0m
[0;32mI (276) cpu_start: cpu freq: 120000000 Hz[0m
[0;32mI (276) cpu_start: Application information:[0m
[0;32mI (281) cpu_start: Project name:     hello_world[0m
[0;32mI (289) cpu_start: App version:      1[0m
[0;32mI (296) cpu_start: Compile time:     Jul 30 2024 16:30:27[0m
[0;32mI (305) cpu_start: ELF file SHA256:  097d4462693816bf...[0m
[0;32mI (315) cpu_start: ESP-IDF:          v5.0.4-dirty[0m
[0;32mI (323) cpu_start: Min chip rev:     v1.0[0m
[0;32mI (330) cpu_start: Max chip rev:     v1.99 [0m
[0;32mI (338) cpu_start: Chip rev:         v1.2[0m
[0;32mI (345) heap_init: Initializing. RAM available for dynamic allocation:[0m
[0;32mI (356) heap_init: At 3FCAACA0 len 00031ED0 (199 KiB): D/IRAM[0m
[0;32mI (366) heap_init: At 3FCDCB70 len 0000294C (10 KiB): STACK/DRAM[0m
[0;32mI (378) spi_flash: detected chip: generic[0m
[0;32mI (383) spi_flash: flash io: dio[0m
[0;32mI (390) app_start: Starting scheduler on CPU0[0m
[0;32mI (397) main_task: Started on CPU0[0m
[0;32mI (397) main_task: Calling app_main()[0m
Hello world!
This is esp32c2 chip with 1 CPU core(s), WiFi/BLE, silicon revision v1.2, 2MB embedded flash
Minimum free heap size: 200400 bytes
Restarting in 10 seconds...
Restarting in 9 seconds...
Restarting in 8 seconds...
Restarting in 7 seconds...
Restarting in 6 seconds...
Restarting in 5 seconds...
Restarting in 4 seconds...
Restarting in 3 seconds...
Restarting in 2 seconds...

arduino 上没有对应的开发板类型(官网上有介绍,可以加,但要修改github GitHub - espressif/arduino-esp32: Arduino core for the ESP32

使用Idf开发软件支持部下载,或是使用flash downloader 下载(at固件下载的工具

ESP-IDF 入门指南 | 乐鑫科技

快速入门 - ESP32-C2 - — ESP-IDF 编程指南 v5.3 文档

下载 

idf下载,flash downloader 下载 

at固件下载,有两种方式,分散的与单一一个下载

硬件连接 - ESP32-C2 - — ESP-AT 用户指南 latest 文档

(c2 有两个uart口一个用于下载,一个用于外部命令响应)使用uart0只能下载,不会有输出 

ba445a23f3bc45fd810d90a16ed3e6c8.png

AT固件下载方式有两种,单文件下载;多文件下载

下载指导 - ESP32-C2 - — ESP-AT 用户指南 latest 文档

332caf55e9294507bf48033de13063ec.png998365f3fd394fa29b25dd9c4bde0659.png

c2版本的有一个2m和4m的内部flash (其它版本的有的不含内部flash需要加外flash 8266 c3 ...

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

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

相关文章

实测体验:劣质宠物空气净化器有啥危害?值得买的养宠空气净化器

作为一名猫咖店老板,换季时节,家中不仅要面对恼人的异味,还要忍受满天飞舞的猫毛,真是让人头疼。虽然和毛孩子在一起充满了乐趣,但随之而来的毛发和异味问题却令人苦不堪言。普通的空气净化器虽然能净化空气&#xff0…

写一个图片裁剪的js,JavaScript图片裁剪插件PlusCropper

在前端开发中,图片裁剪是一个常见的需求。本文将深入解析一个功能完善的JavaScript图片裁剪插件——PlusCropper,带你一步步了解其实现原理和使用方法。 一、插件概述 PlusCropper是一个轻量级的JavaScript插件,它允许用户在网页上交互式地…

CTFHUB-文件上传-双写绕过

开启题目 1.php内容&#xff1a; <?php eval($_POST[cmd]);?> 上传一句话木马 1.php&#xff0c;抓包&#xff0c;双写 php 然后放包&#xff0c;上传成功 蚁剑连接 在“/var/www/html/flag_484225427.php”找到了 flag

How Can I display Reference/Citation using Streamlit Application?

题意&#xff1a;怎样在Streamlit应用程序中显示参考文献或引用&#xff1f; 问题背景&#xff1a; I have created an Azure AI Search Service, created index using Azure Blob Storage and Deployed a web application and made a chat Playground using AzureOpenAI. 我…

CSS使用渐变实现Chrome标签栏效果

这次来看一个带特殊圆角导航栏布局&#xff0c;如下谷歌浏览器的标签栏&#xff1a; 这样一个布局如何实现呢&#xff1f; CSS 渐变几乎是无所不能的&#xff0c;什么的图形都能绘制&#xff0c;这里可以拆分一下&#xff0c;两个矩形&#xff0c;两个圆形&#xff0c;还有两个…

计算机毕业设计选题推荐-二手闲置交易系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

目标检测 | yolov2/yolo9000 原理和介绍

前言&#xff1a;目标检测 | yolov1 原理和介绍 简介 论文链接&#xff1a;https://arxiv.org/abs/1612.08242 时间&#xff1a;2016年 作者&#xff1a;Joseph Redmon  作者首先在YOLOv1的基础上提出了改进的YOLOv2&#xff0c;然后提出了一种检测与分类联合训练方法&#…

【Linux网络编程】套接字Socket(UDP)

网络编程基础概念&#xff1a; ip地址和端口号 ip地址是网络协议地址&#xff08;4字节32位&#xff0c;形式&#xff1a;xxx.xxx.xxx.xxx xxx在范围[0, 255]内&#xff09;&#xff0c;是IP协议提供的一种统一的地址格式&#xff0c;每台主机的ip地址不同&#xff0c;一个…

五个优秀的免费 Ollama WebUI 客户端推荐

认识 Ollama 本地模型框架&#xff0c;并简单了解它的优势和不足&#xff0c;以及推荐了 5 款开源免费的 Ollama WebUI 客户端&#xff0c;以提高使用体验。 什么是 Ollama&#xff1f; Ollama 是一款强大的本地运行大型语言模型&#xff08;LLM&#xff09;的框架&#xff0c…

一键操作!Win11用户将排除项添加到安全中心的方法

在Win11电脑操作中&#xff0c;Windows安全中心提供了添加排除项的功能&#xff0c;让用户可以自定义哪些文件、文件夹或进程免于Microsoft Defender的扫描&#xff0c;从而防止误报正常程序为安全威胁。但许多新手不知道具体如何操作才能成功添加排除项&#xff1f;那么就来看…

【PGCCC】pg_show_plans:显示所有正在运行的语句的查询计划

PostgreSQL 扩展可显示所有当前正在运行的 SQL 语句的查询计划。查询计划可以以多种格式显示&#xff0c;例如JSON或YAML。 此扩展在共享内存中创建哈希表。哈希表不可调整大小&#xff0c;因此一旦填满&#xff0c;就无法添加新计划。 安装 支持 PostgreSQL 版本 12 及更新…

学Python可少不了项目练手,这8个小项目有趣又实用,小白也能做出来_python练手项目,python教程

学习之路比较科学的学习方法是理解了之后把知识点进行运用&#xff0c;找一些开源的小项目做是最好的&#xff0c;站在岸上是学不会游泳的&#xff0c;光看健身视频是减不了肥的&#xff0c;不自己动手敲代码是学不会编程的。 我在找了8个比较有趣的小项目&#xff0c;技术水平…

DirectX修复工具下载安装指南:电脑dll修复拿下!6种dll缺失修复方法!

在日常使用电脑的过程中&#xff0c;不少用户可能会遇到“DLL文件缺失”的错误提示&#xff0c;这类问题往往导致程序无法正常运行或系统出现不稳定现象。幸运的是&#xff0c;DirectX修复工具作为一款功能强大的系统维护软件&#xff0c;能够有效解决大多数DLL文件缺失问题&am…

下属“软对抗”,工作阳奉阴违怎么办?4大权谋术,让他不敢造次

下属“软对抗”&#xff0c;工作阳奉阴违怎么办&#xff1f;4大权谋术&#xff0c;让他不敢造次 第一个&#xff1a;强势管理 在企业管理中&#xff0c;领导必须展现足够的强势。 所谓强势的管理&#xff0c;并不仅仅指态度上的强硬&#xff0c;更重要的是在行动中坚持原则和规…

元气森林|每天拆解一个品牌营销方案

元气森林的品牌营销策略是一个多维度、全方位的策略体系&#xff0c;旨在通过创新、用户导向和多元化渠道来塑造和提升品牌形象&#xff0c;促进产品销售。 以下是道叔对元气森林品牌营销策略的详细拆解&#xff1a; 一、以用户为中心的营销理念 元气森林注重通过市场调研、…

Java | Leetcode Java题解之第313题超级丑数

题目&#xff1a; 题解&#xff1a; class Solution {public int nthSuperUglyNumber(int n, int[] primes) {int[] dp new int[n 1];int m primes.length;int[] pointers new int[m];int[] nums new int[m];Arrays.fill(nums, 1);for (int i 1; i < n; i) {int minN…

浅谈莫比乌斯反演(c++)

目录 前置知识一些约定数论分块狄利克雷卷积定义一些常见的狄利克雷卷积 莫比乌斯反演莫比乌斯函数的性质/莫比乌斯变换 例题讲解公约数的和题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示数据规模与约定 思路 AC代码[HAOI2011] Problem b题目描述输入格…

Kimi+AiPPT的正确打开方式!文档一键转换PPT!限时免费!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,专注于分享AI全维度知识,包括但不限于AI科普,AI工具测评,AI效率提升,AI行业洞察。关注我,AI之路不迷路,2024我们一起变强。 我之前…

C++ | Leetcode C++题解之第313题超级丑数

题目&#xff1a; 题解&#xff1a; class Solution { public:int nthSuperUglyNumber(int n, vector<int>& primes) {vector<long> dp(n 1);int m primes.size();vector<int> pointers(m, 0);vector<long> nums(m, 1);for (int i 1; i < n…

【glomap】glomap install tutorial

【glomap】glomap install tutorial 1. install step by office2. install step3. reason方法1&#xff1a;修改目标GPU架构方法2&#xff1a;更新CUDA工具包方法3&#xff1a;在CMake中手动设置CUDA编译选项 4 reference 1. install step by office mkdir build cd build cma…