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系列芯片固件烧录工具】
你不跑一个micropython应用测试一下吗? 漂移菌 发表于 2025-9-22 12:40
你不跑一个micropython应用测试一下吗?
好的,大佬
micropython应用跑起来 豆爸 发表于 2025-9-23 11:26
好的,大佬
micropython应用跑起来
nice~ 速度好快,响应的速度快就是好哈哈
页:
[1]