esp32-C3固件烧录用户手册

esp32-C3固件烧录用户手册1.4

温馨提示:

1.esp32-C3 BOOT脚为GPIO9,需要从芯片小板中焊接引出

2.芯片小板中已经预留了所有烧录相关的引脚,大家可以按需焊接引线

3.程序下载完,使用串口查看log时,需要使用220v供电使用(请务必准守用电安全)。

原因:由于插座中包含继电器,计量计等耗电设备,所以usb转串口提供的3.3V电压和电流可能会出现供电不足,表现为usb转串口与电脑连接断断续续,导致无法查看log。

烧录

所需硬件

智能插座套件 1个

usb转ttl模块 1个

杜邦线若干 6-7条

获取方式:淘宝自行购买

软件工具

vscode+platformIO
适用情况
研发学习,测试阶段,有工程源码,可以使用该开发工具,编译源码和下载程序到板子

获取方式
1)在 `插座通用资料/软件工具/开发软件(platformIO自行安装)` 目录下获取,
2)亦可访问vscode官网下载   https://code.visualstudio.com/
flash_download_tools

flash_download_tool_3.9.5:是一款非常实用的ESP模组烧录软件

适用情况
工厂阶段,无源码,仅有bin,可以使用该工具进行固件下载

获取方式
1)在 `插座通用资料/软件工具/固件下载` 目录下获取,
2)亦可访问乐鑫官网下载   https://www.espressif.com/zh-hans/support/download/other-tools

插座与USB转TTL模块之间接线

插座底板和芯片小板位置说明

image-20231008154510879

从芯片小板焊接出3.3V,gnd,RX,TX,IO9,其中3.3V,gnd,RX,TX接USB转ttl的3.3V,gnd,TX,RX;IO9在下载模式时要接底板中的GND即拉低

以下线颜色说明(以芯片小板端引脚标号为准):

红色:3.3V

黑色:gnd

紫色:RX

蓝色 :TX

黄色:IO9

esp32-C3版本插座(底板4针)

image-20231008155610170

image-20231008160113736

bin固件和烧录地址

序号bin名描述烧录地址适用产品
1bootloader.bin启动引导0x0适用于ssb,ssc类产品
2partitions.bin分区0x8000适用于ssb,ssc类产品
3boot_app0.bin启动app00xe000适用于ssb,ssc类产品
4firmware.binplatformIO生成的主要用户程序0x10000适用于ssb,ssc类产品
5littlefs.binplatformIO生成的文件系统0x3B0000适用于ssb,ssc类产品

查看bin地址(以下部分仅供参考)

vscode+platformIO开发方式可以在项目下新建终端,然后输入

获取详细烧录地址和信息

pio run -v -t upload

image-20231008164545689

得知:主要信息如下

–chip esp32c3

–flash_mode dio

–flash_freq 80m

–flash_size 4MB 0x0000

项目工程下.pio\build\esp32-c3-devkitm\bootloader.bin 0x0

项目工程下.pio\build\esp32-c3-devkitm\partitions.bin 0x8000

C盘用户目录.platformio\packages\framework-arduinoespressif32\tools\partitions\boot_app0.bin 0xe000

项目工程下 .pio\build\esp32-c3-devkitm\firmware.bin 0x10000

获取文件系统程序详细烧录地址和信息

pio run -v -t uploadfs 


得知:项目工程下 .pio\build\esp32-c3-devkitm\littlefs.bin 0x3B0000

另外,如果有自定义partiton.csv文件时,可参考其中的地址定义。

乐鑫官方固件下载地址:

https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32c3/AT_Binary_Lists/ESP32-C3_AT_binaries.html

esptool --chip esp32 --port COM11 write_flash -z 0x0000 D:\aa\firmware.bin

vscode+platformIO烧录方法

说明:为了减少焊接引线,这里使用给芯片断电上电方式来给芯片复位。亦可焊接出EN针脚引线,将EN拉低拉高来给芯片复位。

编译和下载

  1. 打开代码工程

  2. 首先点击 编译 按钮进行编译工程,

  3. 先进入下载模式(参考4.2),然后再点击下载 按钮

编译和下载 按钮位置截图

image-20230818113541275

编译完成截图

image-20231008160924672

将设备进入下载模式

进入下载模式方法
1. 先将esp32-C3模块断电(断开usb转串口模块与esp32-C3之间的3.3V接线)
2. 将esp32-C3模块的IO9拉低(即芯片小板IO9与底板的GND连接)
3. 然后再给esp32-C3模块上电(连接上usb转串口模块与esp32-C3之间的3.3V接线)
4. 当下载时,IO9也要一直拉低(即芯片小板IO9与底板的GND一直连接)
5. 等到下载完成。

注意esp32-C3的IO9需要从芯片小板中引出

image-20231008161717753

等待下载完成即可

image-20231008161808613

flash_download_tools烧录方法

打开flash_download_tools

选择ESP32-C3,其他默认,如图

image-20231008203845619

选择烧录固件和填对应地址

选择烧录的固件,地址参考本文 3章节bin固件和烧录地址,具体参考配置参考下图

image-20231008203310322

选择串口,波特率,点击开始

最后,选择com口(usb转串的串口号)和比特率,点击START开始

image-20231008203448094

将设备进入下载模式

进入下载模式方法
1. 先将esp32-C3模块断电(断开usb转串口模块与esp32-C3之间的3.3V接线)
2. 将esp32-C3模块的IO9拉低(即芯片小板IO9与底板的GND连接)
3. 然后再给esp32-C3模块上电(连接上usb转串口模块与esp32-C3之间的3.3V接线)
4. 当下载时,IO9也要一直拉低(即芯片小板IO9与底板的GND一直连接)
5. 等到下载完成。

注意esp32-C3的IO9需要从芯片小板中引出

image-20231008202948839

esptool.py烧录方法

安装esptool

前提需要安装python3

查看是否安装python方法,可以打开cmd,输入python回车,查看python版本,如未安装请自行百度安装。如我这边截图:

image-20231008193704455

安装好python后,在命令行窗口

pip install esptool

image-20231008193934283

烧录

擦除flash
esptool.py --port COM11 erase_flash

 说明: 
      --port  pc端与设备连接的usb转串口的端口号
      erase_flash 擦除操作

image-20231008194104638

烧录*.bin

esptool.py --chip esp32-C3 --port COM11  --baud 921600 --before default_reset --after hard_reset  write_flash -z --flash_mode dio --flash_freq 80m  --flash_size 4MB 0x0000  D:\aa\bootloader.bin 0x8000 D:\aa\partitions.bin 0xe000 D:\aa\boot_app0.bin 0x10000 D:\aa\firmware.bin 0x3B0000 D:\aa\littlefs.bin

 说明: --chip 芯片型号,根据自己情况修改
      --port  pc端与设备连接的usb转串口的端口号  根据自己情况修改
      --baud  烧录速度  根据自己情况修改
      --before default_reset --after hard_reset  前后都复位
      write_flash 写flash
      --flash_mode dio 模式dio   根据自己情况修改
      --flash_freq 80m  频率80M  根据自己情况修改
      --flash_size 4MB  大小4M   根据自己情况修改
      地址+bin文件                根据自己情况修改

image-20231008201518794

### ESP32-C3 烧录电路图及连接方法 对于ESP32-C3模块,在进行固件烧录时,通常有两种主要的方式:通过USB-UART接口和通过JTAG接口。 #### USB-UART 接口烧录 当采用USB-UART方式进行烧录时,需要确保UART通信线路正确连接。具体来说: - TXD (GPIO1) 连接到电脑的RX端; - RXD (GPIO3) 连接到电脑的TX端; - GND接地; - VCC供电; 为了进入下载模式,还需要额外控制两个引脚: - GPIO0拉低至GND可以启动Flash Bootloader模式[^1]。 此外,如果使用的是带有内置USB转串口芯片的核心板,则只需将USB线缆接入开发板上的Micro USB插座即可完成上述连线工作。 #### JTAG 接口烧录 利用ESP32-C3内部集成的USB-JTAG控制器能够简化调试过程并支持更复杂的操作。此方案适用于高级开发者或特定应用场景下的需求分析与故障排查。具体的接线如下所示: | JTAG Pin | Description | |----------|----------------------| | TDI | Test Data In | | TDO | Test Data Out | | TCK | Test Clock | | TMS | Test Mode Select | | NRST | Reset | | GND | Ground | 值得注意的是,某些评估套件如HX-DK已经集成了必要的硬件资源来方便用户直接通过USB电缆执行程序加载以及实时监控等功能[^2]。 在实际应用过程中,建议优先考虑官方推荐的方法和技术文档指导来进行设备配置和编程环境搭建,以减少可能出现的问题并提高工作效率。 ```mermaid graph LR; A[PC] --> B[TX]; C[RX] --> D[ESP32-C3 UART]; E[VCC] -.-> F[GND]; H(GPIO0) --> I(GND); subgraph "For JTAG" J(TDI)--> K(ESP32-C3 JTAG) L(TDO)--> M(ESP32-C3 JTAG) N(TCK)--> O(ESP32-C3 JTAG) P(TMS)--> Q(ESP32-C3 JTAG) R(NRST)--> S(ESP32-C3 JTAG) T(GND)--> U(ESP32-C3 JTAG) end ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心之雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值