在macOS 上使用 esptool 烧录合宙ESP32C3 开发板 micropython 固件遇到的问题与解决办法

在macOS 上使用 esptool 烧录合宙ESP32C3 开发板 micropython 固件遇到的问题与解决办法

问题

使用 esptool 烧录遇到报错 A fatal error occurred: Failed to write to target RAM (result was 01070000)

原因

看github 上的讨论,LilyGO 开发板使用的 FTDI 芯片似乎与 mac OS Big Sur UART 驱动程序不兼容;合宙 ESP32C3 开发板同理;
我电脑的 mac OS Monterey 版本同理;

解决办法

在 mac 上安装这个CH340 驱动程序;

链接: link

全部操作步骤

1. 安装esptool

参考这个链接:
链接: 安装 MicroPython 到 ESP32-CAM - 使用esptool.py (Mac)

注意,macOS 里erase_flash的正确操作应该是:

python3 -m esptool --chip esp32c3 --port /dev/cu.***** erase_flash

而不是上面链接中说的esptool.py --chip esp32c3 --port,这是windows 系统中的操作方法,不能在macOS 中使用,否则会报错esptool.py: command not found

2. 安装CH340 驱动程序

在第一步的时候你会发现,在使用 erase_flash 把板子原来的固件信息清除掉时,会报错:A fatal error occurred: Failed to write to target RAM (result was 01070000: Operation timed out),这就是上面说的macOS 里CH340 芯片驱动不兼容问题。需要下载并安装下面这个链接里的CH340芯片驱动。

链接: link

这个问题是在下面这个github 链接里找到的答案:
链接: A fatal error occurred: Failed to write to target RAM

安装完这个驱动后,在终端里输入 ls -l /dev/cu* 就会发现多了一个端口:

crw-rw-rw-  1 root  wheel  0x9000003  7  9 22:18 /dev/cu.Bluetooth-Incoming-Port
crw-rw-rw-  1 root  wheel  0x9000005  7  9 22:45 /dev/cu.usbmodem*********
crw-rw-rw-  1 root  wheel  0x9000007  7  9 22:48 /dev/cu.wchusbseria*******
crw-rw-rw-  1 root  wheel  0x9000001  7  9 22:17 /dev/cu.wlan-debug

使用这个wchusbseria******* 端口就可以 执行 erase_flash 命令并写入新的固件了。

python3 -m esptool --chip esp32c3 --port /dev/cu.***** erase_flash

3. 烧录固件

写入新的固件的命令为:

python3 -m esptool --chip esp32-c3 --port /dev/cu.wchusbserial******* --baud 460800 write_flash -z 0x1000 esp32c3-20230426-v1.20.0.bin

记得要在你下载的这个新的bin文件的同一文件夹目录下执行这个烧录命令。

Serial port /dev/cu.wchusbserial*********
Connecting....
Chip is ESP32-C3 (revision v0.3)
Features: WiFi, BLE
Crystal is 40MHz
MAC: ***********
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00167fff...
Compressed 1466928 bytes to 895028...
Wrote 1466928 bytes (895028 compressed) at 0x00001000 in 25.8 seconds (effective 455.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

~~烧录成功!~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用ESP-IDF(Espressif IoT Development Framework)烧写固件ESP-IDF是Espressif为esp32开发的一款开源软件,可以让你在macOS系统上使用命令行烧写固件。你可以从网站https://docs.espressif.com/projects/esp-idf/zh_CN/v3.3/get-started/index.html下载最新的ESP-IDF,然后按照说明进行安装。 ### 回答2: 在MacOS系统上,可以通过以下步骤为ESP32烧写固件: 1. 首先,确保已经安装了Arduino IDE和ESP32开发板支持。如果没有安装,可以从Arduino官网上下载安装包,并在IDE中安装ESP32开发板支持。 2. 连接ESP32和Mac电脑。使用USB数据线将ESP32开发板连接到Mac电脑的一个可用USB端口上。 3. 打开Arduino IDE并创建一个新的空白项目。 4. 在IDE中选择适当的开发板。转到"工具"菜单,选择"开发板",然后选择你所使用ESP32开发板。 5. 配置串口设置。在"工具"菜单中,选择"串口",并选择与ESP32连接的正确串口。 6. 准备固件文件。将ESP32固件文件(通常是一个.bin文件)放置在计算机上的一个可访问位置,以备上传到ESP32。 7. 选择与ESP32开发板兼容的程序。在IDE中,转到"文件"菜单,选择"示例",然后选择与你的开发板兼容的示例程序,或者导入你自己的固件程序。 8. 编译和上传固件。点击IDE界面上的"上传"按钮,编译并将固件上传到ESP32。上传过程中,IDE将显示上传进度和状态信息。 9. 等待上传完成。一旦上传完成,IDE将显示"上传成功"的消息。 10. 重启ESP32。上传完成后,ESP32将自动重启,并开始运行新上传的固件。 这些步骤可以帮助你在MacOS系统上为ESP32烧写固件。请确保按照以上步骤正确操作,以确保成功烧写固件。 ### 回答3: 在macOS系统上烧写ESP32固件有几个步骤: 1. 安装CP210x USB转UART驱动程序:Mac电脑需要安装CP210x USB转UART驱动程序,以便能够与ESP32建立连接。可以从Silicon Labs官方网站下载并安装该驱动程序。 2. 安装ESP-IDF开发环境:ESP-IDF是用于开发ESP32固件的官方开发环境。可以从ESP32官方网站下载并安装ESP-IDF开发环境。 3. 配置ESP-IDF环境变量:打开终端应用程序,输入`export IDF_PATH=/path/to/esp-idf`,将`/path/to/`替换为ESP-IDF开发环境的实际路径。这将设置ESP-IDF环境变量,以便系统能够找到相关工具和库。 4. 克隆ESP-IDF示例项目:使用终端进入想要保存示例项目的目录,并输入`git clone --recursive https://github.com/espressif/esp-idf-template.git`命令来克隆ESP-IDF示例项目。 5. 连接ESP32:将ESP32通过USB数据线与Mac电脑连接。 6. 进入项目目录并编译固件使用终端进入ESP-IDF示例项目的目录,并输入`make menuconfig`命令来配置项目。在菜单中,选择适当的串口和固件的其他设置。然后使用`make all`命令编译固件。 7. 烧写固件:在终端中输入`make flash`命令来将编译好的固件烧写到ESP32。这将自动启动烧写过程。 8. 查看烧写日志:烧写完成后,可以在终端中查看烧写日志以确保烧写成功。 以上是在macOS系统上为ESP32烧写固件的基本步骤。根据实际情况可能还需要做一些额外的配置或设置,但这个过程应该可以帮助您完成烧写固件的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值