본문으로 건너뛰기
학습 센터로 돌아가기TuyaOpen SDK

첫 펌웨어 빌드하기

개발 보드에 맞게 switch_demo 프로젝트를 설정하고, 장치에 플래시할 bin 펌웨어를 tos.py로 빌드합니다.

입문8분빌드

완료 후 상태

프로젝트의 .build/bin/ 디렉터리에 바로 플래시할 수 있는 switch_demo_QIO_1.0.0.bin 펌웨어가 생성됩니다.

  • tos.py build 首次运行时会把对应工具链下载到 platform/,因此首次编译较慢。
  • 输出 bin 命名规则为 <app>_<QIO>_<version>.bin,其中 QIO 是 flash 读取模式。
  • 必须在应用项目目录中执行 tos.py build

프로젝트 선택

apps/examples/에서 애플리케이션을 빌드합니다. 여기서는 클라우드에 연결되는 간단한 스위치인 switch_demo를 사용합니다.

cd apps/tuya_cloud/switch_demo

프로젝트 구성

tos.py config choice로 검증된 보드 구성을 확인하고 하드웨어에 맞는 항목을 선택하세요.

❯ tos.py config choice
[INFO]: Fullclean success.
--------------------
1. LN882H.config
2. EWT103-W15.config
3. Ubuntu.config
4. ESP32-C3.config
5. ESP32-S3.config
6. ESP32.config
7. T3.config
8. T5AI.config
9. T2.config
10. BK7231X.config
--------------------
Input "q" to exit.
Choice config file:

주요 개발 보드 → 구성

사용 중인 개발 보드에 맞는 구성을 선택하세요.

Tuya T5AIT5AI.config
Tuya T3T3.config
Tuya T2T2.config
Beken BK7231XBK7231X.config
ESP32ESP32.config
ESP32-C3ESP32-C3.config
ESP32-S3ESP32-S3.config
LN882HLN882H.config
Ubuntu(Linux 主机)Ubuntu.config

config 操作可能切换工具链,因此会先执行一次深度清理。若项目自带 config/ 目录,其中的配置优先于 boards/ —— 运行 tos.py config -d choice 可强制只显示 boards/ 中的配置。

빌드

프로젝트 디렉터리에서 tos.py build를 실행하세요. 실패 원인을 확인하려면 -v를 추가합니다.

❯ tos.py build
...
[INFO]: ******************************
[INFO]: /xxx/TuyaOpen/apps/tuya_cloud/switch_demo/.build/bin/switch_demo_QIO_1.0.0.bin
[INFO]: ******************************
[INFO]: ******* Build Success ********
[INFO]: ******************************
  • 编译过程:下载工具链 → 执行其 prepare → 创建 .build → 运行 ninja → 产物放入 .build/bin
  • 编译以 Build Success 结束并打印 bin 路径 —— 这就是要烧录的文件。
  • Windows 下若每个文件编译耗时约 3 秒,参见下方故障排查。

빌드 정리

tos.py clean은 캐시를 정리하고, -f.build 디렉터리까지 삭제하는 전체 정리를 수행합니다.

❯ tos.py clean -f
[INFO]: Running tos.py ...
[INFO]: Fullclean success.

문제 해결

Windows 下编译很慢

用 Ctrl+Shift+Esc 打开任务管理器,找到并关闭 MSPCManagerService 进程。若无效,将整个 TuyaOpen 目录移到非系统盘(如 D 盘),并在 Windows 安全中心 → 病毒和威胁防护中将其加入排除列表。

config choice 没有列出我的开发板

列表优先取自项目 config/ 目录,再取 TuyaOpen/boards/。运行 tos.py config -d choice 可强制只显示 boards/ 中的配置。若仍未列出,该板可能尚无此应用的已验证配置。

用 tos.py config menu 改配置后编译失败

改配置可能导致编译失败。重新运行 tos.py config choice 选择已验证配置,或 tos.py clean -f 后重新编译,也可联系技术支持。

出现 could not lock config file 警告

这是残留的 ~/.gitconfig.lock 导致。手动删除:rm ~/.gitconfig.lock,然后重试。

다음: 플래시하고 모니터링하기 →전체 빌드 문서 →