419浏览
查看: 419|回复: 3

[ESP8266/ESP32] FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享

[复制链接]
本帖最后由 豆爸 于 2025-9-23 16:42 编辑

【一、项目背景】

FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图17


测试版Firebeetle 2 ESP32-C5开发板板载ESP32-C5模组为ECO1 版本,由于不是正式版本,各种工具对它的支持很有限,只有指定版本可以使用。


【二、常见编程环境搭建与使用】


1、Arduino IDE


Firebeetle 2 ESP32-C5 ECO1 版本在Arduino IDE下只能使用ESP32 3.3.0-alpha1版本。


(1)打开Arduino IDE,进入文件 -> 首选项,在附加开发板管理器网址中输入:https://jihulab.com/esp-mirror/e ... esp32_index_cn.json,如下图所示。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图7



(2)依次选择菜单 “工具 -> 开发板 -> 开发板管理器”,搜索esp32。在开发板管理器中,找到**esp32 by Espressif Systems**,点击版本下拉菜单,选择 3.3.0-alpha1-cn ,点击”安装“进行安装。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图1



(3)依次选择菜单 “工具 -> 开发板 -> esp32 -> ESP32 Dev Module”。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图8



(4)将Firebeetle 2 ESP32-C5 ver ECO通过USB数据线连接到电脑的USB口。


(5)依次选择菜单 “工具 -> 端口 -> COM4”(具体的端口号以实际显示为准)。

FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图9



(6)依次选择菜单 “工具 -> USB CDC on Boot -> Enabled“。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图10


(7)编写程序,这里以blink为例。

  1. int ledPin = 15;
  2. void setup() {
  3.   pinMode(ledPin, OUTPUT);
  4. }
  5. void loop() {
  6.   digitalWrite(ledPin, HIGH);  
  7.   delay(1000);                     
  8.   digitalWrite(ledPin, LOW);   
  9.   delay(1000);                     
  10. }
复制代码


(8)按下键盘Ctrl+U键,编译与上传程序,直到出现:”Hash of data verified.“、”Leaving...“、”Hard resetting via RTS pin...“,如下图所示。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图16


至此,基于Arduino IDE的ESP32 C5环境搭建、软件设置、程序编写、编译上传完成。按下RST键,重启开发板,即可看见板载LED间隔1秒的闪烁。




2、乐鑫官方的Flash下载工具——flash download tool


使用MicroPython编程,需要先烧录micropython固件,同时感谢大佬提供的MicroPython v1.27.0-preview.15.g744270ac1.dirty on 2025-08-15固件。


使用乐鑫官方固件flash download tool工具,但无法烧录,如下图所示。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图18



3、乐鑫官方固件烧录工具——esptool


ESPTool 是乐鑫官方提供的 ESP 系列芯片固件烧录工具,ESP32-C5模组为ECO1 版本必须使用esptool 4.9.dev3版本。


(1)系统有Python的用户


系统装有Python的用户,可以使用pip install安装esptool

  1. pip3 install esptool==4.9.dev3
复制代码

FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图2



(2)没有Python用户,可以直接使用预编译的二进制版本的esptool.exe。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图3



(3)esptool烧录命令


  1. esptool --chip esp32c5 -b 460800 --before default_reset --after hard_reset write_flash 0x2000 ESP32C5_micropython_v1.27.bin
复制代码



--chip esp32c5指定目标芯片的型号为 ESP32-C5。


-b 460800 指定烧录时的波特率(数据传输速率)为 460800。


--before default_reset 指定烧录开始前对芯片执行的默认复位操作。


--after hard_reset 指定烧录完成后对芯片执行硬复位。


write_flash  0x2000 表示从0x2000地址开始写入固件。


ESP32C5_micropython_v1.27.bin 要烧录的固件文件路径及名称。


总结:这条命令的作用是通过 esptool 工具,以 460800 波特率向 ESP32-C5 芯片从闪存的 0x2000 地址开始写入指定的 MicroPython 固件,烧录前先复位芯片进入下载模式,烧录完成后硬复位让芯片启动新固件。


【三、ESP系列芯片固件烧录工具分享】


esptool的工具的安装与命令行的烧录,对新手很不友好。我们来看看下面的的ESP系列芯片固件烧录工具,文件在附件中提供下载。

1、擦除固件功能

使用这个固件烧录工具,点击“擦除Flash”按钮开始擦除,见下图。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图4


2、烧录其他外部固件功能


使用这个固件烧录工具,也可以烧录开发板支持的任何编译好的固件、程序,如下图所示


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图5



(1)选择正确的芯片类型,以Firebeetle 2 ESP32-C5 ver ECO1,选择esp32c5。


(2)选择“使用外部固件”。


(3)点击“浏览”按钮,选择固件文件,这里选择ESP32_C5_Blink.bin。


(4)输入正确的地址,Firebeetle 2 ESP32-C5 ver ECO1这里使用0x2000。


(5)点击“开始烧录”按钮。


(6)“确认”对话框中,点击“是”按钮,进入烧录程序。




(7)当出现“固件烧录完成”,即完成了固件烧录

3、烧录内置MicroPython固件功能


对于Firebeetle 2 ESP32-C5 ver ECO1,这个固件烧录工具直接内置MicroPython固件,可以直接进行烧录,如下图所

FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图15



(1)选择正确的芯片类型,以Firebeetle 2 ESP32-C5 ver ECO1,选择esp32c5。


(2)选择“使用内置MicroPython固件”。


(3)点击“开始烧录”按钮。


(4)“确认”对话框中,点击“是”按钮,进入烧录程序。


(5)当出现“固件烧录完成”,即完成了固件烧录

【四、基于MicroPython的编程】


(1)打开Thonny软件,如下图所示。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图14



(2)依次选择菜单 “运行 -> 配置解释器”,选择“MicroPython(ESP32)”、选择“COM4”(端口以实际显示为准),再点击“确认”按钮,如下图所示。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图13



(3)当出现下图红框中所示内容,即表示MicroPython固件烧录正常、Thonny设置正常,可以正常编写MicroPython程序代码了。


FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图12



(3)编写程序代码,以连接Wifi为例。


  1. # 导入库
  2. import network
  3. import time
  4. # WiFi配置
  5. SSID = "xiaogui"
  6. PASSWORD = "88888888"
  7. def connect_wifi():
  8.     # 创建WLAN对象,STA模式(客户端模式)
  9.     wlan = network.WLAN(network.STA_IF)
  10.     # 激活WLAN
  11.     wlan.active(True)
  12.     # 检查是否已连接
  13.     if not wlan.isconnected():
  14.         print("正在连接WiFi: {}".format(SSID))
  15.         # 连接WiFi
  16.         wlan.connect(SSID, PASSWORD)
  17.         # 等待连接成功
  18.         timeout = 0
  19.         while not wlan.isconnected() and timeout < 20:
  20.             print("连接中... ({})".format(timeout))
  21.             time.sleep(1)
  22.             timeout += 1
  23.     # 检查连接状态
  24.     if wlan.isconnected():
  25.         print("WiFi已连接!")
  26.         ip_info = wlan.ifconfig()
  27.         print("IP地址: {}".format(ip_info[0]))
  28.         print("子网掩码: {}".format(ip_info[1]))
  29.         print("网关: {}".format(ip_info[2]))
  30.         print("DNS服务器: {}".format(ip_info[3]))
  31.         return True
  32.     else:
  33.         print("WiFi连接失败,请检查网络名称和密码")
  34.         return False
  35. # 执行连接
  36. if __name__ == "__main__":
  37.     connect_wifi()
复制代码



(4)按下键盘F5键运行程序,如下图所示,表示程序运行正常。



FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享图11

【附件:ESP系列芯片固件烧录工具
下载附件ESP Firmware Tool.zip

漂移菌  初级技匠

发表于 2025-9-22 12:40:54

你不跑一个micropython应用测试一下吗?
回复

使用道具 举报

豆爸  初级技匠
 楼主|

发表于 7 天前

漂移菌 发表于 2025-9-22 12:40
你不跑一个micropython应用测试一下吗?

好的,大佬

micropython应用跑起来
回复

使用道具 举报

漂移菌  初级技匠

发表于 4 天前

豆爸 发表于 2025-9-23 11:26
好的,大佬

micropython应用跑起来

nice~ 速度好快,响应的速度快就是好哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail