【分享】如何把 TuyaOS 网关开发框架集成到其他工程
背景信息
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,把该目录下的 include 和 src 目录导入到您的工程,并且把 include 目录及其子目录加到头文件搜索路径,以及把 include 和 src 目录中的源文件加入到编译列表。
通过按照上述步骤操作,您可以顺利将开发包集成到您的编译框架中,在您原有的项目上继续开发即可。
注意事项
- 链接库文件时,建议使用
-Wl,--start-group <链接库> -Wl,--end-group
选项,避免多个静态库依赖顺序问题。 - TKL 的 include 目录包含部分 .c 源文件,可以用
find
命令查找,编译时不要遗漏。