ESP32C3+Rust固件烧录失败求助(WSL Ubuntu环境)
解决WSL下ESP32C3 Rust固件烧录问题
1. 修复串口设备权限
WSL中访问/dev/ttyACM0需要用户拥有dialout组权限,执行以下命令添加权限:
sudo usermod -aG dialout $USER
执行后注销并重新登录WSL,确保权限生效。
2. 配置WSL USB直通
WSL默认可能未正确映射Windows侧的USB设备,按以下步骤操作:
- 打开Windows设备管理器,找到ESP32对应的串口设备(通常显示为「USB Serial Device」)
- 在WSL终端执行
usbipd wsl list,查看设备的BUSID - 若设备状态为「Not attached」,执行命令直通设备:
usbipd wsl attach --busid <设备BUSID>
将<设备BUSID>替换为list命令中显示的对应值(如1-3)。
3. 强制指定串口执行烧录
跳过自动检测,直接在命令中指定串口路径:
- 测试板卡连接:
espflash board-info --serial-port /dev/ttyACM0
- 执行烧录:
espflash flash --serial-port /dev/ttyACM0 target/riscv32imc-esp-espidf/debug/blinky-rust-esp32c3
4. 触发ESP32C3烧录模式
部分ESP32C3板卡需手动进入烧录模式:按住BOOT键,短按RESET键,松开BOOT键后再执行烧录命令。
5. 校验.cargo/config.toml配置
确保runner字段格式正确,示例如下:
[target.riscv32imc-esp-espidf] runner = "espflash flash --serial-port /dev/ttyACM0"
配置完成后可直接执行cargo run触发烧录。
内容的提问来源于stack exchange,提问作者frajo mathews
相关产品推荐
相关产品推荐

