0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

又遇到异常重启?可能是KV的锅…

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-10-05 14:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

​在技术支持群,看到客户报了一个不明原因的重启问题。 重启现象是 ——有极个别设备在工作中不定时反复异常重启,大部分设备正常;反复重启设备,有时候又能持续正常工作。

隔着屏幕都感觉到了客户的着急和无奈,我决定和客户一起揪出这个“捣蛋鬼”。

一、查找线索

按常规流程先询问客户开发模块、开发方式,并要求提供对应日志。经确认如下:

开发模块:Air780E

最新资料:www.air780e.cn

开发方式:LuatOS

开发教程:

https://doc.openluat.com/wiki/26?wiki_page_id=3020

客户提供日志反馈:

脚本日志没报错误,就是不定时卡住一会,然后就重启了。

图片

第一反应:不会是死循环导致的重启吧?

客户反馈:“没有死循环,任务里面都有延时的,而且大部分设备是正常的。且重启的时间也不定,最短4秒,最长是三分多钟,看起来不符合20秒的看门狗重启呀,而且设备昨天有正常工作一天,然后异常的时候就持续一直异常。但是这个固件的绝大部分设备是正常工作,不会异常重启的。”

看来不是死循环导致的看门狗重启问题。

为了进行一步排查重启原因,我让客户用pm.lastReson()这个接口打印开机原因值。

客户反馈:“我们有平台上传数据, pm.lastReson()是006异常重启 ”。

根据接口文档相关说明来看,确实不是内部看门狗导致的重启,是异常重启导致的。

接口文档详见:

https://wiki.luatos.com/api/pm.html#pm-lastreson

图片

二、了解背景

心想看不出啥具体原因,先了解一下客户使用背景吧,说不定会有啥线索。

我问:“之前正常,现在是用不了,一直在重启吗?”

客户反馈:“也不是吧,一开始是好的,然后挂了几个月一直重启,最近发现,昨天我拿过来挂了一天又正常,然后今天又重启,老化区就这个设备会重启,其他同固件是正常的。”

我又问:“换DEMO会重启吗? 确认一下是硬件问题,还是软件问题。

客户反馈:“ 今天测试过,只下载脚本是一定会出问题。 然后我刚刚重新下载底层和脚本,目前五分钟没有重启。”

看上去应该不是硬件问题,可能是软件引起的。心想让客户用最新版本试一下吧,确认一下还会不会出现问题。

客户反馈:“我们是因为有一个设备到客户手上有这个问题是V1108的,然后老化区只有这个设备也是异常重启,是V1106的,然后就看的这个,后面重新烧录1106的底层也是正常的,这设备挺难出现这个问题的,只能我们这边挂着测一下。”

看来又是一个令人头大的重启问题,要等客户提供底层日志来进一步排除问题了。

三、重要线索


客户把挂测的底层日志提供过来了,打开后确实看到了RamDumpData开头的死机信息。

图片

打开上面的RamDumpData出现如下信息:

图片

我赶紧和研发大佬确认,可能是啥情况。大佬问答大概率是FLASH坏掉了,让和客户确认不是有KV相关的操作。

客户回答,确实有KV的操作。

本文提到的KV:

KV数据库 ——指的是LuatOS中的FSKV库,提供键值对数据库功能,数据持久化在Flash上,使用独立的KV分区,使用LuaTools刷机时可选择清空,默认是不清空。由Flash的特性决定了,写入次数是有限的,频繁写入导致超限后,将无法设置/更新数据,导致系统异常。

为了进一步验证猜测,让客户做了如下测试:

问:“死机重启后,烧录不清除KV试试看还会不会重启,或者去除KV相关操作看还会不会重启。”

答:“KV操作挺多的,不好清除,我试下烧录不清除KV,有时候断电过一会就好了,不是很好复现,我先试试烧录不清除KV。”

客户反馈:“不清除KV也会有重启。”

问:“重新烧录底层的时候,有没有清理KV。”

答:“有”…

根据此前客户反馈和当前测试来看,应该是FALSH模块有些区域坏掉了。

**四、确认猜测 **


至此,可以说这个重启的原因基本是确认了,导致模块令人琢磨不透的重启问题的“捣蛋鬼”也基础上算是给揪出来了。但是,还是需做进一步的测试来确定猜测。

研发大佬给了一下测试固件,来确认猜测是否正确。

图片

编辑

经过测试验证后,确定是FALSH部分区域坏掉引起的重启。

至此这个“重启案件”算是侦破了。

给客户的建议:

要改脚本,需要大幅度减少写KV的次数,防止破坏模块重启的“捣蛋鬼”再次出来捣乱。

温馨提示:

KV的写寿命是10万次,过于频繁操作可能会导致FLASH坏掉,引起设备反复重启。

因此,在写代码的时候要尽量减少写KV的次数。

11.jpg
12.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2822

    浏览量

    52847
  • 设备
    +关注

    关注

    2

    文章

    4788

    浏览量

    73316
  • 日志
    +关注

    关注

    0

    文章

    145

    浏览量

    11030
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    无线充项目求助:PD 协议芯片握手后反复重启断电,求解决方案!

    芯片本身及 Pad 兼容性问题。 初步推测:可能是 Pad 拉载电流过大,触发了无线充的过流保护,导致循环重启。 有没有大佬做过类似无线充 + PD 协议给平板供电的方案 / 产品?想请教下该问题的根源及解决办法,万分感谢!
    发表于 11-13 14:48

    电机驱动emc整改:总不过关?可能是接地方式错了

    电机驱动emc整改:总不过关?可能是接地方式错了|深圳南柯电子
    的头像 发表于 10-14 15:44 397次阅读

    AD7928BRUZ AD采样批量出现异常低值的原因?

    信号的峰值,意味AD7928BRUZ均在模拟信号达到峰值时采集。我观测了半个小时的数据,均没有发现cs信号和模拟信号时序异常。 现在请教有可能是哪方面的问题,导致异常数据出现。
    发表于 08-13 06:29

    探秘UPS(不间断电源)异常噪音背后的真相

    在使用UPS(不间断电源)的过程中,用户可能遇到噪音过大的问题。这一现象可能由多种因素导致,下面对UPS(不间断电源)噪音异常的原因进行详细分析。
    的头像 发表于 05-10 11:48 694次阅读
    探秘UPS(不间断电源)<b class='flag-5'>异常</b>噪音背后的真相

    使用AD芯片对正弦波采样,得到这样的结果,可能是哪里出现问题?

    使用AD芯片对正弦波采样,得到这样的结果,可能是哪里出现问题?
    发表于 04-03 18:51

    异常零流量小区检测功能介绍

    这类状态正常,没有异常告警上报,但实际上用户无法接入或接入后业务不正常的小区。 导致异常零流量小区的原因有很多,可能是系统故障、配置错误、干扰等因素。网优人员筛查异常零流量小区时,通常
    的头像 发表于 03-22 09:54 847次阅读
    <b class='flag-5'>异常</b>零流量小区检测功能介绍

    35kV、110kV、220kV、550kV可控放电避雷针区别

    35kv110kv220kv550kv可控放电避雷针的区别
    发表于 03-18 16:40 0次下载

    DLP5530S-Q1在做色温标定时发现DM档位下,低亮度调节不连续,可能是什么原因造成的?

    我们在做色温标定时发现DM档位下,低亮度调节不连续。请问可能是什么原因造成的? 横坐标DAC设定值,纵坐标亮度 DM模式10-9KV/A DM模式11-6KV/A
    发表于 02-20 08:41

    dac5682杂散可能是在哪个环节产生的,应如何有效避免?

    240KHz左右出现较大杂散信号,抑制在50dB左右,严重影响到后面的信号处理。 问题:该杂散可能是在哪个环节产生的,应如何有效避免?
    发表于 02-14 06:49

    ADS1248 VREFOUT一直没输出可能是什么原因?

    使用ADS1248时,硬件如下图,ADS1248_REG_MUX1配置为0x30,但VREFOUT引脚一直没有输出,请问可能是什么原因
    发表于 02-12 07:28

    重复开机关机,有时会出现ADS1232异常,为什么?

    PWND拉低复位操作。等出现异常状态时,快速重新开关机。采样的数值依然不正确。PWND拉低复位,无效果. 4.当出现异常状态时,需要长时间断电后,重新开机。ADS1232才有可能正常 。 有没有出现这个现象的?
    发表于 02-11 06:44

    KT6368A蓝牙芯片的死机、复位、重启等等细节的详细描述

    首先看看客户反馈的说明:KT6368A蓝牙芯片正在蓝牙透传数据突然就断开了 然后 找不到蓝牙了 断电重启后 蓝牙起来了 这个是啥情况呢 分析一下客户说的问题,我们的回复如下: 关于蓝牙芯片在使用中,对于“死机、复位、重启
    的头像 发表于 01-22 15:03 1182次阅读
    KT6368A蓝牙芯片的死机、复位、<b class='flag-5'>重启</b>等等细节的详细描述

    电子设备异常关机,可能是压敏电阻出问题

    电子设备异常关机或因压敏电阻故障,原因包括长期承受高电压退化、连接线路问题、安装不当及失效。压敏电阻用于保护电路,故障难及时发现,需注意设备异常并及时处理。
    的头像 发表于 01-17 10:58 1056次阅读
    电子设备<b class='flag-5'>异常</b>关机,<b class='flag-5'>可能是</b>压敏电阻出问题

    ads1278在上电正常使用时偶尔也会造成电流过大温度过高的情况,具体可能是什么造成的呢?

    造成如上问题。 2.ads1278手册上有上电顺序要求,但是并没有说具体需要延迟多少时间,那么只要是上电的先后顺序满足就可以了吗。 3.ads1278在上电正常使用时偶尔也会造成电流过大温度过高的情况,具体可能是什么造成的呢。(系统为ads1278最小系统,命令输入由fpga控制)
    发表于 01-10 12:02

    SMT贴片空焊异常

    SMT厂使用我们同款产品在三种不同机种上皆出现空焊现象,我们对不良品进行EDX分析,无异常;对同批次样品上锡实验无异常;量测产品尺寸(产品高度、焊盘大小、镀层厚度)无异常可能是什么原
    发表于 01-08 11:50