豆爸 发表于 2025-9-22 12:16:42

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

本帖最后由 豆爸 于 2025-9-23 16:42 编辑

【一、项目背景】



测试版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,如下图所示。





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





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





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


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




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




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

int ledPin = 15;
void setup() {
pinMode(ledPin, OUTPUT);
}


void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);                     
digitalWrite(ledPin, LOW);   
delay(1000);                     
}

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




至此,基于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工具,但无法烧录,如下图所示。





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


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


(1)系统有Python的用户


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

pip3 install esptool==4.9.dev3



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





(3)esptool烧录命令


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_flash0x2000 表示从0x2000地址开始写入固件。


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


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


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


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

1、擦除固件功能

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




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


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





(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固件,可以直接进行烧录,如下图所。




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


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


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


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


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

【四、基于MicroPython的编程】


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





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





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





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


# 导入库
import network
import time

# WiFi配置
SSID = "xiaogui"
PASSWORD = "88888888"

def connect_wifi():
    # 创建WLAN对象,STA模式(客户端模式)
    wlan = network.WLAN(network.STA_IF)

    # 激活WLAN
    wlan.active(True)

    # 检查是否已连接
    if not wlan.isconnected():
      print("正在连接WiFi: {}".format(SSID))

      # 连接WiFi
      wlan.connect(SSID, PASSWORD)

      # 等待连接成功
      timeout = 0
      while not wlan.isconnected() and timeout < 20:
            print("连接中... ({})".format(timeout))
            time.sleep(1)
            timeout += 1

    # 检查连接状态
    if wlan.isconnected():
      print("WiFi已连接!")
      ip_info = wlan.ifconfig()
      print("IP地址: {}".format(ip_info))
      print("子网掩码: {}".format(ip_info))
      print("网关: {}".format(ip_info))
      print("DNS服务器: {}".format(ip_info))
      return True
    else:
      print("WiFi连接失败,请检查网络名称和密码")
      return False

# 执行连接
if __name__ == "__main__":
    connect_wifi()


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




【附件:ESP系列芯片固件烧录工具】


漂移菌 发表于 2025-9-22 12:40:54

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

豆爸 发表于 2025-9-23 11:26:29

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

好的,大佬

micropython应用跑起来

漂移菌 发表于 2025-9-26 12:23:36

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

micropython应用跑起来

nice~ 速度好快,响应的速度快就是好哈哈
页: [1]
查看完整版本: FireBeetle 2 ESP32-C5编程工具探究及固件烧录工具分享