环境信息
操作系统: macOS 10.15.7 (Darwin 25.2.0)
开发板: T5AI (BK7258 芯片)
串口设备: /dev/cu.usbserial-140
驱动: CH340 和 CP210x 都已安装
固件: DuckyClaw 1.0.0 (已成功构建)
问题描述
在 macOS 上无法烧录固件到 T5AI 开发板,所有烧录工具都无法让板子进入下载模式。
错误信息
使用 tos.py flash:
[ERROR]: Get bus error.
[INFO]: Reboot done
[ERROR]: Flash write failed.
使用 Web Serial Tool (https://tuyaopen.ai/tools):
[ERROR] T5AI设备连接失败: 获取总线控制权失败
[MAIN] 烧录失败: 无法连接到T5AI设备
日志显示:
[COMM] 发送LinkCheck
[DEBUG] 发送LinkCheck: 01 E0 FC 01 00
(重复多次后失败)
已尝试的方法
- 驱动安装
✅ 安装了 CH340 驱动 (WCHSoftGroup/ch34xser_macos)
✅ 安装了 CP210x 驱动 (Silicon Labs VCP Driver)
✅ 串口设备可以正常识别和打开
- 烧录工具
✅ 尝试了 tos.py flash 命令行工具
✅ 尝试了官方 Web Serial Tool
✅ 尝试了修改后的烧录脚本(移除自动复位逻辑)
- 手动进入下载模式
按照文档说明操作:
按住 IO Button
按一下 RST 按钮
松开 IO Button
结果: 板子重启并显示涂鸦 OpenAPP 界面,但烧录工具仍然无法连接
- 不同波特率
尝试了多种波特率:115200, 921600, 460800, 74880 等,都无法连接
- 串口通信测试
✅ 串口可以正常打开
❌ 无法收到任何数据(尝试了所有常见波特率)
❌ 发送 AT 命令无响应
当前状态
✅ 板子硬件正常: 屏幕显示正常,已有固件运行(显示涂鸦 OpenAPP 界面)
✅ 固件已构建: DuckyClaw 固件编译成功,配置完成
✅ 串口正常: 可以打开串口设备
❌ 无法烧录: 所有工具都无法进入 bootloader/下载模式
技术分析
通过分析 tyutool/flash/t5/t5_flash.py 源代码发现:
自动复位机制 (第 91-96 行):
def do_reset(self):
self.ser.dtr = 0
self.ser.rts = 1
time.sleep(0.3)
self.ser.rts = 0
get_bus() 函数 (第 120-130 行):
尝试 100 次通过 DTR/RTS 信号复位板子
每次复位后检查 LinkCheck
所有尝试都失败 → "Get bus error"
推测: T5AI 开发板可能没有将 DTR/RTS 信号连接到复位电路,或者需要特殊的硬件操作序列。
问题
macOS 上 T5AI 开发板的正确烧录方法是什么?
是否需要特殊的硬件操作?
是否有专门的 macOS 烧录工具?
如何让板子进入下载模式?
手动按 IO Button + RST 无效
DTR/RTS 自动复位无效
是否需要其他步骤?
板子上已有固件运行,是否可以通过 OTA 方式升级?
是否支持串口 OTA?
是否有 Ymodem 或其他协议支持?
是否有擦除/解锁工具?
如何清除现有固件?
如何解锁下载模式?
期望
希望能提供:
macOS 上 T5AI 的正确烧录步骤
或者提供 macOS 兼容的烧录工具
或者说明如何通过 OTA 方式升级固件
附加信息
固件文件
~/duckyclaw/dist/DuckyClaw_1.0.0/
├── DuckyClaw_QIO_1.0.0.bin (4.5MB) - 完整固件
├── DuckyClaw_UA_1.0.0.bin (4.2MB) - 应用固件
└── DuckyClaw_UG_1.0.0.bin (2.5MB) - OTA 升级固件
板子照片
板子屏幕正常显示涂鸦 OpenAPP 界面,硬件功能正常。
相关文档
官方文档: https://tuyaopen.ai/docs/duckyclaw/ducky-quick-start-T5AI
项目仓库: https://github.com/tuya/DuckyClaw
***感谢团队的支持!期待解决方案。🙏
环境信息
操作系统: macOS 10.15.7 (Darwin 25.2.0)
开发板: T5AI (BK7258 芯片)
串口设备: /dev/cu.usbserial-140
驱动: CH340 和 CP210x 都已安装
固件: DuckyClaw 1.0.0 (已成功构建)
问题描述
在 macOS 上无法烧录固件到 T5AI 开发板,所有烧录工具都无法让板子进入下载模式。
错误信息
使用 tos.py flash:
[ERROR]: Get bus error.
[INFO]: Reboot done
[ERROR]: Flash write failed.
使用 Web Serial Tool (https://tuyaopen.ai/tools):
[ERROR] T5AI设备连接失败: 获取总线控制权失败
[MAIN] 烧录失败: 无法连接到T5AI设备
日志显示:
[COMM] 发送LinkCheck
[DEBUG] 发送LinkCheck: 01 E0 FC 01 00
(重复多次后失败)
已尝试的方法
✅ 安装了 CH340 驱动 (WCHSoftGroup/ch34xser_macos)
✅ 安装了 CP210x 驱动 (Silicon Labs VCP Driver)
✅ 串口设备可以正常识别和打开
✅ 尝试了 tos.py flash 命令行工具
✅ 尝试了官方 Web Serial Tool
✅ 尝试了修改后的烧录脚本(移除自动复位逻辑)
按照文档说明操作:
按住 IO Button
按一下 RST 按钮
松开 IO Button
结果: 板子重启并显示涂鸦 OpenAPP 界面,但烧录工具仍然无法连接
尝试了多种波特率:115200, 921600, 460800, 74880 等,都无法连接
✅ 串口可以正常打开
❌ 无法收到任何数据(尝试了所有常见波特率)
❌ 发送 AT 命令无响应
当前状态
✅ 板子硬件正常: 屏幕显示正常,已有固件运行(显示涂鸦 OpenAPP 界面)
✅ 固件已构建: DuckyClaw 固件编译成功,配置完成
✅ 串口正常: 可以打开串口设备
❌ 无法烧录: 所有工具都无法进入 bootloader/下载模式
技术分析
通过分析 tyutool/flash/t5/t5_flash.py 源代码发现:
自动复位机制 (第 91-96 行):
def do_reset(self):
self.ser.dtr = 0
self.ser.rts = 1
time.sleep(0.3)
self.ser.rts = 0
get_bus() 函数 (第 120-130 行):
尝试 100 次通过 DTR/RTS 信号复位板子
每次复位后检查 LinkCheck
所有尝试都失败 → "Get bus error"
推测: T5AI 开发板可能没有将 DTR/RTS 信号连接到复位电路,或者需要特殊的硬件操作序列。
问题
macOS 上 T5AI 开发板的正确烧录方法是什么?
是否需要特殊的硬件操作?
是否有专门的 macOS 烧录工具?
如何让板子进入下载模式?
手动按 IO Button + RST 无效
DTR/RTS 自动复位无效
是否需要其他步骤?
板子上已有固件运行,是否可以通过 OTA 方式升级?
是否支持串口 OTA?
是否有 Ymodem 或其他协议支持?
是否有擦除/解锁工具?
如何清除现有固件?
如何解锁下载模式?
期望
希望能提供:
macOS 上 T5AI 的正确烧录步骤
或者提供 macOS 兼容的烧录工具
或者说明如何通过 OTA 方式升级固件
附加信息
固件文件
~/duckyclaw/dist/DuckyClaw_1.0.0/
├── DuckyClaw_QIO_1.0.0.bin (4.5MB) - 完整固件
├── DuckyClaw_UA_1.0.0.bin (4.2MB) - 应用固件
└── DuckyClaw_UG_1.0.0.bin (2.5MB) - OTA 升级固件
板子照片
板子屏幕正常显示涂鸦 OpenAPP 界面,硬件功能正常。
相关文档
官方文档: https://tuyaopen.ai/docs/duckyclaw/ducky-quick-start-T5AI
项目仓库: https://github.com/tuya/DuckyClaw
***感谢团队的支持!期待解决方案。🙏