Page 1 of 1

【分享】如何把 TuyaOS 网关开发框架集成到其他工程

Posted: 2023年 Nov 24日 18:32
by Kyson

背景信息

TuyaOS 网关开发框架使用 xmake 编译框架,从 Tuya Wind IDE 下载开发框架后便可直接编译 apps 的工程,新增源文件会被编译链接,无需关注繁琐的 Makefile 规则,使用上非常简单友好。

这种场景适用于在 TuyaOS 开发框架上开发应用,但是,如果您已经有自己的编译框架或者工程,把原项目迁移到 Tuya Wind IDE 可能不是一种好的选择,然而,把 TuyaOS 开发框架的头文件和库文件导入到您的项目可能更合理。

把 TuyaOS 开发框架的头文件和库文件独立出来,我们把它叫做 Standalone。由于 TuyaOS 开发框架作为一个整体,会依赖开发环境,所以 Standalone 有些注意事项,本文将详细讨论如何在您的项目集成 TuyaOS 开发框架的 Standalone 版本。

集成指南

Standalone TuyaOS 开发框架包含四部分内容:

  • SDK 的头文件
  • SDK 的库文件
  • TuyaOS Kernel Layer(TKL) 头文件和源文件
  • 应用源文件

步骤1:通过 Tuya Wind IDE 下载开发包,接下来提取以上四部分内容集成到您的项目。

步骤2:SDK 的头文件位于 TuyaOS/include,库文件位于 TuyaOS/libs,直接把这两个目录导入到您的工程即可,并且把头文件目录及其子目录加入到头文件搜索路径,以及链接对应的库。

步骤3:应用源文件位于 TuyaOS/apps,根据您的产品需求,使用与您的产品需求匹配的应用工程作为基础模板进行开发,把应用源文件导入到您的工程,并且把应用源代码加入到编译列表。

步骤4:TKL 头文件和源文件位于 TuyaOS/vendor/<开发环境>/tuyaos/tuyaos_adapter,把该目录下的 includesrc 目录导入到您的工程,并且把 include 目录及其子目录加到头文件搜索路径,以及把 includesrc 目录中的源文件加入到编译列表。

通过按照上述步骤操作,您可以顺利将开发包集成到您的编译框架中,在您原有的项目上继续开发即可。

注意事项

  • 链接库文件时,建议使用 -Wl,--start-group <链接库> -Wl,--end-group 选项,避免多个静态库依赖顺序问题。
  • TKL 的 include 目录包含部分 .c 源文件,可以用 find 命令查找,编译时不要遗漏。