如何烧录MicroPython固件到ESP32?

以下是烧录 MicroPython 固件到 ESP32 开发板的完整步骤指南(支持 Windows/Linux/macOS 三大操作系统):


一、准备工作

必备工具和材料:
  1. ESP32 开发板(如 ESP32-DevKitC)
  2. USB 数据线(支持数据传输)
  3. 固件文件
  4. 烧录工具
    • esptool.py(Python 编写的官方烧录工具)
    • 安装命令:pip install esptool

二、详细烧录步骤

方法一:使用 esptool(命令行 - 推荐)
# 1. 查看ESP32连接的串口(Windows为COMx,Linux/Mac为/dev/tty*)
ls /dev/tty.*  # Mac/Linux查看
# 或检查设备管理器(Windows)

# 2. 擦除原有固件(重要!)
esptool.py --chip esp32 --port <PORT> erase_flash
# 示例(Windows): esptool.py --chip esp32 --port COM3 erase_flash
# 示例(Mac): esptool.py --chip esp32 --port /dev/tty.usbserial-0001 erase_flash

# 3. 烧录MicroPython固件
esptool.py --chip esp32 --port <PORT> --baud 460800 write_flash -z 0x1000 <固件路径>
# 完整示例:
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 ~/Downloads/esp32-20220618-v1.19.1.bin
方法二:使用 Thonny IDE(图形界面 - 适合新手)
  1. 安装 Thonny IDE
  2. 打开 Thonny → 右下角选择解释器 → MicroPython (ESP32)
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
  3. 点击端口右侧的 “Install or update firmware”
  4. 选择对应固件文件和端口 → 点击 “Install”
  5. 等待进度条完成(约30秒)

三、关键参数说明

参数作用典型值
--chip芯片型号esp32 (标准版)/esp32s3(S3系列)
--port串口端口Windows: COM3, Mac: /dev/cu.usbserial-*, Linux: /dev/ttyUSB0
--baud烧录波特率460800 (高速) 或 115200 (兼容)
-z启用压缩传输固定使用
0x1000烧录起始地址MicroPython 固定地址

四、验证烧录成功

  1. 使用串口工具连接(波特率 115200):
    # Linux/Mac 使用 screen
    screen <PORT> 115200
    
    # Windows 使用 Putty 或 Thonny 终端
    
  2. 复位 ESP32 后应看到提示符:
    >>>
    
  3. 测试命令:
    >>> import machine
    >>> machine.freq()  # 查看CPU频率(应返回240000000)
    >>> print("Hello MicroPython!")
    

五、常见问题解决

1. 无法识别串口
  • 解决方法
    • 安装 USB 驱动:CP210x 驱动
    • 检查数据线(必须支持数据传输)
    • Linux 用户添加串口权限:sudo usermod -aG dialout $USER
2. 烧录超时/失败
  • 解决方法
    • 按住开发板 BOOT 按钮 再插 USB 进入下载模式
    • 降低波特率:--baud 115200
    • 检查电源(推荐使用外部供电)
3. 固件不启动
  • 解决方法
    • 确认烧录地址为 0x1000
    • 尝试其他固件版本(如最新稳定版)
    • 完整擦除:esptool.py erase_flash

六、进阶烧录选项

1. 自定义分区表
esptool.py write_flash 0x1000 firmware.bin 0x8000 partitions.csv 0x10000 app.bin
2. 同时烧录程序文件
esptool.py write_flash 0x1000 firmware.bin 0x210000 main.py
3. 使用批处理脚本(Windows)
@echo off
esptool.py -p COM3 -b 460800 erase_flash
esptool.py -p COM3 -b 460800 write_flash -z 0x1000 esp32_firmware.bin
echo Firmware update complete!
pause

提示:首次烧录后建议更新 WebREPL 以支持 WiFi 编程:

>>> import webrepl_setup

七、各操作系统命令对照表

操作WindowsmacOSLinux
查看串口设备管理器ls /dev/cu.*ls /dev/ttyUSB*
安装驱动CP210x驱动通常免驱sudo apt install python3-serial
终端连接Putty/Thonnyscreen /dev/cu.usbserial-0001 115200picocom /dev/ttyUSB0 -b115200

通过以上步骤,您可以在 5 分钟内完成 ESP32 的 MicroPython 固件烧录!🎉

资源推荐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值