背景
高低温测试-40度和85度压测,出现程序崩溃现象(挂测日志看)。设备常温后也无法恢复,重启后也无法恢复。
定位排查
先校验程序资源文件一致性是否正确
1.取出设备中的程序资源,包括执行文件和主要的so文件(可以从大的文件开始)
2.从发布流程中取出递交发布给客户的程序资源文件
方法1–使用md5进行文件校验
linux终端输入命令:
md5sum 设备文件
md5sum 发布文件
然后发现其中一个so文件的md5sum的值不一样,文件被篡改,更换递交发布的文件导入到设备中后,运行正常。
方法2–使用Beyond Compare进行十六进制的文件比较
这个软件使用比较简单,直接把文件拖到左右两边即会显示不同的地方。
交叉验证是否是硬件问题
对设备进行软件升级,看下是否还会复现问题,升级app程序后,程序能够正常运行,说明硬件没有损坏。
总结
高低温(-40和85度)下会有概率发生存储flash数据被篡改,和flash供应商核对后,flash供应商表示是芯片问题,其他芯片也碰到过这种问题,不是他们flash问题,并给出解决方案,只读系统。限制写操作。
解决方案
权限配置falsh只读
知识补充
1.md5sum常用于生成和校验文件的md5值,是对文件内容进行校验,和文件名无关。 2.window端cmd中使用md5命令
3.工规flash存储高温测试70度(静态测试,不跑程序)
4.车规flash存储高温测试80度 (静态测试,不跑程序)