【求助】【TuyaOS OS】BTCM模块使用tuya OS开发的程序在小批量试产时遇到很多死机现象

蓝牙 BLE设备、蓝牙 MESH设备、蓝牙 Beacon设备、Sub-G设备等


Post Reply
17394068840
Posts: 24

模组型号:BTCM
SDK版本:TLSR8250_TuyaOS-3.8.3
问题描述:
1.刚通电手动开机运行正常,可添加设备,可手动开关,可手机控制开关。
2.静置几分钟后,有个别设备会从手机上离线,并再也无法控制,此时手动按键控制设备,设备上的LED指示灯不亮了(正常情况下有按键就会亮起),但是神奇的是有些设备虽然灯不亮但开关还可以被手动控制;
3.有些设备比较惨一些,即使断电放完电在上电,也无法运行,手动控制也无反应,指示灯也无反应,手机也显示离线。对于这种完全死机的设备,我重新用仿真器原厂工具烧写程序,发现可以本地控制了,但是无法被手机发现(这种情况我遇到过,是因为授权信息丢了),然后我用 涂鸦生产解决方案云模组烧录。好了,又可以被发现和控制了,但是下一次出现这种情况不一定是多久之后。

分析经过:

问题出现已经有几天了,这几天我们做了各种测试,发现一些规律,但无法确定问题:
1.发现当天线和电源线缠在一起时,问题复现的比较快,当天线和电源线分开时,问题有的可以复现有的机器不复现,或很长时间后复现。1#设备
2.天线和电源线在一起不处理,使用telink原厂工具手动烧录带log程序,测试了十几个小时没有再复现。2#设备3#设备
3.天线和电源线在一起不处理,使用涂鸦生产解决方案工具烧录+授权带log程序,测试了几个小时后复现。5#设备
4.天线和电源线在一起不处理,使用telink原厂工具手动烧录不带log程序,测试了0.5小时后发生设备离线无法控制。5#设备

程序说明:1.开启了低功耗模式,2.使用1秒定时回调函数处理业务。3.在首次上电运行和检测到设备掉电是进行状态参数保存flash 4.电路中使用了触摸按键芯片。


Tags:
jinyuan
Posts: 56

Re: 【求助】【TuyaOS OS】BTCM模块使用tuya OS开发的程序在小批量试产时遇到很多死机现象

关于您的问题:

  1. 设备确定死机后可以通过telink原厂的工具上的 PC的按钮,查看PC指针的地址在哪里,再通过打印出来的PC指针去 编译出来的list文件中找下大概死机的位置。

  2. 对于死机且无法复原的的芯片,可以用telink原厂烧录工具,通过快捷键 ctrl + m打开 Memory Access ,在第一行第三列选择FLASH ,然后len 512*1024,再在Data列中回车,可以把flash全部dump下来 , 看下flash的内容是否完整,是否出现篡改的情况。

  3. 把低功耗关闭后挂机测试 看是否有死机问题复现。

  4. telink平台的芯片每次休眠唤醒后会再执行一次 tuya_init_third ,这个函数里只需执行涉及内部外设初始化的代码(比如硬件IIC、GPIO、硬件SPI、PWM 等),其他的初始化代码不需要放到这里面,否则会出现重复初始化的情况。

17394068840
Posts: 24

Re: 【求助】【TuyaOS OS】BTCM模块使用tuya OS开发的程序在小批量试产时遇到很多死机现象

您好,感谢回复给的思路,这几天我们又做了很多测试发现以下问题:
1.PC指针无法确定具体代码位置,因为有些设备没有完全死机,有的可以手动开机。
2.测试发现一台程序区地址0开始4K区域全部擦除为FF。无法开机。
3.低功耗关闭后测试15台曾经出现过问题的设备,发现不在复现,也就是说可能和低功耗有关。
4.低功耗的tuya_init_third 代码内容如下截图。

Attachments
唤醒代码.png
程序被擦除.png
17394068840
Posts: 24

Re: 【求助】【TuyaOS OS】BTCM模块使用tuya OS开发的程序在小批量试产时遇到很多死机现象

具体函数内容如附件,都是一些GPIO初始化

Attachments
微信图片_20240501084653.png
微信图片_20240501084625.png
微信图片_20240501084558.png
微信图片_20240501084534.png
微信图片_20240501084451.png
微信图片_20240501084419.png
微信图片_20240501084248.png
Post Reply