跳到主要内容
返回学习中心TuyaOpen SDK

烧录固件并监听设备

用 tos.py flash 把刚编译好的 bin 写入开发板,再用 tos.py monitor 观察启动与运行 —— 都在项目目录中完成。

入门8 分钟烧录

完成后的状态

你的开发板已运行刚编译的固件,并能在终端实时看到串口日志 —— 这是启动成功的证明,也是下一步配网的基础。

  • tos.py flash.build/bin/ 中的 bin 通过你选择的串口写入设备。
  • tos.py monitor 实时输出设备日志;启动后手动复位开发板可捕获完整启动日志。
  • 两者底层都调用 tyutool_cli,首次使用时 tos.py 会自动下载。

烧录前

用 USB 将开发板连接到电脑,然后处理一个系统相关的前置条件:

  • Linux 下需先授予串口访问权限并重启:sudo usermod -aG dialout $USER
  • 若使用虚拟机,烧录前需将串口映射进虚拟机。

烧录固件

在项目目录(即运行 tos.py build 的位置)运行 tos.py flash。它会列出可见的串口,按编号选择即可。

❯ tos.py flash
[INFO]: Run Tuya Uart Tool.
[INFO]: Use default baudrate: [921600]
[INFO]: Use default start address: [0x00]
--------------------
1. /dev/ttyACM1
2. /dev/ttyACM0
--------------------
Select serial port: 2
...
[INFO]: Write flash success
[INFO]: CRC check success
[INFO]: Reboot done
[INFO]: Flash write success.

常用参数

`-p`, `--port`目标串口(如 `/dev/ttyACM0`、`COM3`)。省略则从列表选择。
`-b`, `--baud`串口波特率(默认 921600)。
`-d`, `--debug`显示烧录调试信息。

必须在应用项目目录中执行,且项目已成功编译。

监听日志

运行 tos.py monitor 并选择日志串口。启动后手动复位开发板以捕获完整启动日志。按 Ctrl+C 退出,再按回车。

❯ tos.py monitor
[INFO]: Run Tuya Uart Tool.
--------------------
1. /dev/ttyACM1
2. /dev/ttyACM0
--------------------
Select serial port: 1
[INFO]: Open Monitor. (Quit: Ctrl+c)
[01-01 00:03:25 ty D][tuya_health.c:75] feed watchdog
[01-01 00:03:35 ty D][tuya_health.c:75] feed watchdog
  • Linux/Mac 下编号较小的通常是烧录口,较大的为日志口;Windows 下请查看设备管理器。
  • 也可通过 monitor 写入授权码,详见文档中的设备授权。
  • 退出方式:按 Ctrl+C,再按回车。

T5 系列开发板的双串口

T5 系列开发板提供两个串口 —— 一个用于烧录,一个用于日志。若无法区分,烧录时逐一尝试即可。

  • Windows:在设备管理器中,带 A 编号的为下载口,带 B 编号的为日志口。
  • Linux/Mac:通常编号较小的用于烧录,较大的用于日志。
  • 虚拟机映射 T5 串口后约需一分钟稳定,刚映射时出现 device busy 属正常。

故障排查

烧录在 write 阶段卡住或反复失败

通常是缺少串口驱动,参见 tyutool 文档中的“安装驱动”。Mac 下无法识别串口也是同一原因。

提示 Port [xxx] may be busy

等待约一分钟后重试。虚拟机映射耗时因虚拟机与串口芯片而异,并确认没有其他监视器占用该串口。

T5 板能看到串口但烧录报 device busy

虚拟机映射有约一分钟的稳定延迟,映射后等待片刻再重试,无需重新映射。

Windows Defender 误报 GUI 烧录工具

tyutool_gui 放到非系统盘(如 D 盘),并在 Windows 安全中心 → 病毒和威胁防护中添加排除。tos.py flash 使用的 CLI 不受影响。

下一步:配网 →完整烧录文档 →