[TuyaOS OS]tuyaos demo开发相关文档与问题咨询

IPC/NVR/可视门铃等具备多媒体能力的设备,扫地机/AGV等机器人设备


ryxiong
Posts: 25

有如下问题请帮忙解答,多谢

  1. demo相关功能,比如hd md cry detection ota ptz 配网等功能的adapter platform中具体需要如何实现呢,有详细的文档吗?之前tuya sdk都是有文档的,现在tuyaos的文档在哪?
  2. pid uuid auth_key我看是通过ty_com_adpt_get_mtd_cfg来获取的,这应该是从flash拿到吧,那问下初始的pid uuid auth_key我怎么存进去呢,存到哪里呢
  3. app_menuconfig以及vendor tuyaos中的menuconfig中的option有相关文档进行详细的介绍吗,很多配置并不太理解其具体的意义。
  4. partition的分区是有哪几个分区是必须的吗,还有vendor/rts3917/tuyaos/components/partition_config的具体作用,partition.json的具体使用 等都是个什么样的逻辑呢?
  5. nvram的作用是什么?是必须的吗?在这里又是如何使用的,我看ty_sys中有从中获取一些值,那如果我们ipc没有nvram,那这个值不是无法拿到了么?
  6. swupgrade_pack以及swupgrade_unpack的具体逻辑又是怎样的,有具体的文档介绍么?
  7. bsp_cryptfs bsp_sign bsp_verify的具体作用是怎样,内部逻辑有介绍么?
  8. bsp hwConfig中的配置TY_BSP_HW_* 这类是在哪里有用到呢?
  9. tuyaos_kernel.config中哪里有用到?
  10. 如果不考虑加密启动、swpack之类的,是否可以将sdk中的demo以及libtuyaos_adapter libtkl_adapter_platform移植到我们自己的sdk中,然后在libtkl_adapter_platform中实现具体的api,相关resource以及script 也放置到相应目录即可以实现基本的功能。
  11. tuyaos sdk拉取到的sdk是否就更接近与步骤10的方式,这样直接拿到demo来跑就可以了?tuya os拉取的sdk 以及 tuya sdk拉取的sdk的区别在哪,是否主要区别就是tuyaos os这种方式,提供了安全加密验证、wifi等适配 更方便?
User avatar
pippin-bobo
Posts: 236

Re: [TuyaOS OS]tuyaos demo开发相关文档与问题咨询

1.demo相关功能,比如hd md cry detection ota ptz 配网等功能的adapter platform中具体需要如何实现呢,
有详细的文档吗?之前tuya sdk都是有文档的,现在tuyaos的文档在哪?
答复:
hd md cry detection音视频算法类,需要实现对应的TKL接口,目录vendor/rts3917/tuyaos/components,需要更新版本
ota ptz 配网等功能已经完整适配好了,后续会补齐到开发者文档中心:https://developer.tuya.com/cn/docs/iot- ... judewekgsv
2.pid uuid auth_key我看是通过ty_com_adpt_get_mtd_cfg来获取的,这应该是从flash拿到吧,
那问下初始的pid uuid auth_key我怎么存进去呢,存到哪里呢
答复:
这个和问题5关联,需要实现nvram,通过nvram set对应的key和value
3.app_menuconfig以及vendor tuyaos中的menuconfig中的option有相关文档进行详细的介绍吗,
很多配置并不太理解其具体的意义。
答复:
文档还未上传,是需要所有配置,还是特定的某些配置,可以细化下。
4.partition的分区是有哪几个分区是必须的吗,
还有vendor/rts3917/tuyaos/components/partition_config的具体作用,
partition.json的具体使用 等都是个什么样的逻辑呢?
答复:
除了drv分区你们看平台情况,其他分区都是必要的建议都保留
5.nvram的作用是什么?是必须的吗?在这里又是如何使用的,
我看ty_sys中有从中获取一些值,那如果我们ipc没有nvram,那这个值不是无法拿到了么?
答复:
nvram是我们往factory分区写入授权等生产信息的工具,问题2对应的授权信息获取,就是通过nvram读取的。
如果你们自己实现类似nvram工具,可能后面OTA需要自己输出方案,建议使用我们的,我们提供了源码
vendor/rts3917/tuyaos/components/nvram_kernel_driver
6.swupgrade_pack以及swupgrade_unpack的具体逻辑又是怎样的,有具体的文档介绍么?
答复:
swupgrade_pack用来打包固件(全固件&OTA固件),swupgrade_unpack提供OTA升级能力API
文档目前还未补齐,可以关注论坛TuyaOS-BSP 开发主页,会更新上去
7.bsp_cryptfs bsp_sign bsp_verify的具体作用是怎样,内部逻辑有介绍么?
答复:
bsp_cryptfs用于文件系统加密,bsp_sign用于OTA固件签名,bsp_verify用来OTA验签
内部逻辑目前无介绍,可以关注论坛TuyaOS-BSP 开发主页,会更新上去
8.bsp hwConfig中的配置TY_BSP_HW_* 这类是在哪里有用到呢?
答复:
需要开放到产品配置里面,产品工程路径右键->"Config Project"配置生效
9.tuyaos_kernel.config中哪里有用到?
答复:
BSP编译时依赖这个配置项,这个不需要修改,我们输出的版本固化了
10.如果不考虑加密启动、swpack之类的,
是否可以将sdk中的demo以及libtuyaos_adapter libtkl_adapter_platform移植到我们自己的sdk中,
然后在libtkl_adapter_platform中实现具体的api,相关resource以及script 也放置到相应目录即可以实现基本的功能。
答复:
建议还是不要反向移植,最好按照我们的tuyaOS架构适配;因为我们提供的产品开发包,应用组件适配比较完整,全新平台只需要适配号vendor和TKL部分即可产品化
11.tuyaos sdk拉取到的sdk是否就更接近与步骤10的方式,
这样直接拿到demo来跑就可以了?tuya os拉取的sdk 以及 tuya sdk拉取的sdk的区别在哪,
是否主要区别就是tuyaos os这种方式,提供了安全加密验证、wifi等适配 更方便?
答复:
sdk拉取的demo只是演示效果,和产品化还是有一定的距离;
tuyaos os这种方式提供更加安全的固件方式,同问题10,只需要适配好vendor和TKL,即可快速产品化

User avatar
hnsqlisai
Posts: 13

Re: [TuyaOS OS]tuyaos demo开发相关文档与问题咨询

tuya OS OTA 介绍:viewtopic.php?t=691
涉及:swupgrade_pack,swupgrade_unpack,bsp_sign bsp_verify等

郭老庄
Posts: 196

Re: [TuyaOS OS]tuyaos demo开发相关文档与问题咨询

你好,我已在3.7.1版本增加了音视频及算法相关的demo,详见vendor/rts3917/tuyaos/components/tkl_media_fh8652

ryxiong
Posts: 25

Re: [TuyaOS OS]tuyaos demo开发相关文档与问题咨询

我看现在rts3917_0.0.5.tar.gz的包中RTS3917_3.7.1/software/TuyaOS/apps/tuyaos-ipc-rts3917-sc001/libs/libtuyaapp_components.a,
这个lib是实现了什么?看起来与libtuyaos_adapter.a重复了。

把link打开会报很多相关的warning:
home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaapp_components.a(ty_wifi.c.o): in function tkl_wifi_set_rf_calibrated':
ty_wifi.c:(.text.tkl_wifi_set_rf_calibrated+0x0): multiple definition of
tkl_wifi_set_rf_calibrated'; /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaos_adapter.a(tkl_wifi.c.o):tkl_wifi.c:(.text.tkl_wifi_set_rf_calibrated+0x0): first defined here
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaapp_components.a(ty_wifi.c.o): in function tkl_wifi_scan_ap':
ty_wifi.c:(.text.tkl_wifi_scan_ap+0x0): multiple definition of
tkl_wifi_scan_ap'; /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaos_adapter.a(tkl_wifi.c.o):tkl_wifi.c:(.text.tkl_wifi_scan_ap+0x0): first defined here
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaapp_components.a(ty_wifi.c.o): in function tkl_wifi_get_connected_ap_info':
ty_wifi.c:(.text.tkl_wifi_get_connected_ap_info+0x0): multiple definition of
tkl_wifi_get_connected_ap_info'; /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaos_adapter.a(tkl_wifi.c.o):tkl_wifi.c:(.text.tkl_wifi_get_connected_ap_info+0x0): first defined here

ryxiong
Posts: 25

Re: [TuyaOS OS]tuyaos demo开发相关文档与问题咨询

libtuyaapp_components.a libtuyaos_adapter.a 编译出来的symbol重复了

郭老庄
Posts: 196

Re: [TuyaOS OS]tuyaos demo开发相关文档与问题咨询

ryxiong 2023年 Jan 12日 18:37

libtuyaapp_components.a libtuyaos_adapter.a 编译出来的symbol重复了

你好,可以通过删除vendor/rts3917/tuyaos/tuyaos_adapter/src/tkl_wifi.c解决这个问题

ryxiong
Posts: 25

Re: [TuyaOS OS]tuyaos demo开发相关文档与问题咨询

删除了tkl_wifi.c之后,又报了如下问题,其中有iw_sockets_open tkl_wifi_ioctl找不到了,tkl_wifi_ioctl找不到看起来跟删除tkl_wifi.c有关,麻烦再帮忙看下

/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaapp_components.a(ty_adpt_net.c.o): in function ty_adpt_net_iface_scan':
ty_adpt_net.c.text.ty_adpt_net_iface_scan+0x14): undefined reference to
iw_sockets_open'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: ty_adpt_net.c.text.ty_adpt_net_iface_scan+0x28): undefined reference to iw_get_range_info'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: ty_adpt_net.c.text.ty_adpt_net_iface_scan+0x88): undefined reference to
iw_scan'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: ty_adpt_net.c.text.ty_adpt_net_iface_scan+0xf0): undefined reference to iw_freq_to_channel'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: ty_adpt_net.c.text.ty_adpt_net_iface_scan+0x110): undefined reference to
iw_sawap_ntop'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaapp_components.a(ty_adpt_net.c.o): in function ty_adpt_net_iface_set_chn':
ty_adpt_net.c.text.ty_adpt_net_iface_set_chn+0x10): undefined reference to
iw_sockets_open'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: ty_adpt_net.c.text.ty_adpt_net_iface_set_chn+0x24): undefined reference to iw_get_range_info'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: ty_adpt_net.c.text.ty_adpt_net_iface_set_chn+0x48): undefined reference to
iw_channel_to_freq'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: ty_adpt_net.c.text.ty_adpt_net_iface_set_chn+0x54): undefined reference to iw_float2freq'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaapp_components.a(ty_adpt_net.c.o): in function
ty_adpt_net_iface_set_mode':
ty_adpt_net.c.text.ty_adpt_net_iface_set_mode+0x238): undefined reference to iw_operation_mode'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaapp_components.a(ty_adpt_net.c.o): in function
ty_adpt_net_iface_get_curr_rssi':
ty_adpt_net.c.text.ty_adpt_net_iface_get_curr_rssi+0x10): undefined reference to iw_sockets_open'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: ty_adpt_net.c.text.ty_adpt_net_iface_get_curr_rssi+0x24): undefined reference to
iw_get_range_info'
/home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/vendor/rts3917/toolchain/asdk-10.3.1-a7-EL-5.4-u1.0-a32nh-220218/bin/../lib/gcc/arm-linux-uclibcgnueabi/10.3.1/../../../../arm-linux-uclibcgnueabi/bin/ld: /home/vscode/tuyaos/RTS3917_3.7.1/software/TuyaOS/libs/libtuyaos_adapter.a(tkl_init_wifi.c.o).data.rel.ro.TKL_WIFI+0x64): undefined reference to `tkl_wifi_ioctl'

ryxiong
Posts: 25

Re: [TuyaOS OS]tuyaos demo开发相关文档与问题咨询

请帮忙把sdk中如下部分先打开进行编译,

  1. bsp build
  2. tycam link
  3. uboot_fh8652
  4. linux_fh8652

把这些的编译都打开,先解决基本的编译与link的问题。

tycam link的时候会报pcap zbar link的一些问题,我是用app_opensource_pcap/build.sh app_opensource_zbar/build.sh 重新更新了相关的lib解决的。

基础的编译问题解决了,能生成rootfs了才好进行后续的工作。

郭老庄
Posts: 196

Re: [TuyaOS OS]tuyaos demo开发相关文档与问题咨询

ryxiong 2023年 Jan 13日 14:55

请帮忙把sdk中如下部分先打开进行编译,

  1. bsp build
  2. tycam link
  3. uboot_fh8652
  4. linux_fh8652

把这些的编译都打开,先解决基本的编译与link的问题。

tycam link的时候会报pcap zbar link的一些问题,我是用app_opensource_pcap/build.sh app_opensource_zbar/build.sh 重新更新了相关的lib解决的。

基础的编译问题解决了,能生成rootfs了才好进行后续的工作。

你好,我下周一优先解决一下

Post Reply