KDocs 研发资料库
  • 屏融合应用方案入口汇总
  • JL701N穿戴客述问题FAQ
  • JL701N穿戴类补丁list
  • 手表软件调试
  • JL701手表硬件设计注意事项 总结
  • 手表烧录_升级工具说明
  • 手表量产相关
  • 生产烧录KEY及代码和升级代码
  • AC695N系列手表SDK开发指南
  • JL7012A手表-SDK入门指南V1.0
  • 穿戴手表JL701N-入门到进阶开发指导
  • 彩屏充电仓JL701N LVGL入门到进阶指导文档
  • AC695N手表软硬件问题整理
  • JL701N手表软硬件问题整理
  • 701n手表SDK共性问题汇总
  • UI效果参考demo文档
  • 屏幕触摸驱动相关参考
  • 穿戴类支付宝支付流程
  • AC701N_PMU_介绍
  • 经典蓝牙相关接口说明
  • music应用详细设计说明书
  • music_player接口设计说明文档
  • PO声测试以及处理方法
  • DAC性能测试指南
  • 杰理串口升级规范
  • AC696N串口升级说明
  • AC695N系列手表UI开发指南
  • AC695N添加升级UI说明文档.
  • UI布局工具使用说明
  • UI接口设计说明书
  • UI工具快速使用说明
  • 701N_UI编辑工具用户手册
  • UI工程源文件升级工具使用说明
  • 701N屏幕驱动配置说明
  • JL701N 2D图形硬件加速接口使用说明
  • JL701_watch常用例子参考
  • JL_WATCH_SDK UI相关工具使用文档
  • 智能手表音频 设计调试手册 V1.2
  • AC695X_AC696X_AD697X 常见通话问题处理参考资料
  • 701手表 PCBA产测工具使用说明书 V1.0
  • 杰理定频问题排查2021.1.26
  • BQB5.4 20231007
  • 各类概率性死机调试解决指南
  • 不开机问题处理汇总(仅供参考)
  • 蓝牙搜索不到问题处理汇总(仅供参考)
  • 样机发烫(仅供参考)
  • 蓝牙音乐卡顿问题处理汇总(仅供参考)
  • 充电问题处理汇总(仅供参考)
  • 触摸问题处理汇总(仅供参考)
  • 功耗调试指导
  • JL701N穿戴客述问题FAQ
  • 701N 开发板新屏幕驱动修改
  • AC701 nandflash A8图片显示问题
  • 支付宝乘车码接入资料
  • 多国语言及字库使用指南
  • 查看C程序Flash 和RAM 资源占用说明文档
  • 701N_SDK3.0.1_OPUS_OGG 编解码
  • 蓝牙在线调eq说明
  • BR EDR BLE 蓝牙性能测试配置方法_
  • BLE-HID
  • BLE-HID 调试文档
  • 【问题】701v301外置flash播放wts提示音
  • 本地录音开启及调试
  • 死机分析
  • 表盘传输APP层的压缩算法
  • 功能模版:JL701_V301_UI资源使用FAT文件系统demo
  • JL7013+4G CAT1 参考设计原理图
  • 吾爱4G模组+JL701接口说明
  • (电脑一拖多)手表升级dongle工具使用补充说明
  • 蓝牙接口使用说明
  • ble 开发流程
  • 彩屏仓功耗优化
  • 彩屏仓补丁list
  • 更新字库步骤
  • 支付宝硬件接入资料

各类概率性死机调试解决指南

📎 原始文档:https://www.kdocs.cn/l/cvoiXiM1yMAF bhmem各类概率性死机调试解决指南

一、PYPhmem excption

A、案例1 出现“除0”现象导致的异常死机

出现“除0”现象导致的异常死机,打印会报CPU0 div0_err。
出现该现象的死机是因为cpu在运算的时候,特别涉及到算法或者除法的时候,会出现除数为0的情况导致异常,我们的cpu除0就会异常,这是因为除数是不能等于0的,等于0是非法运算,一般可以根据异常的信息找到对应的异常位置处理即可,一般提示哪个cpu异常就看那个cpu的异常信息,这里查看cpu0的异常信息和对应的RETS和RETI两个的地址。

image

B、案例2

二、LAQ

A、案例1 来电拒接出现死机情况

  1. 看到客户反馈的信息,根据经验判断可能是通话后内存使用比较大,来不及释放就切换其他页面导致的死机。所以让客户定时或在死机之前打印打印一下内存状态。然后抓取异常中断信息和lst文件发过来。
  2. 拿到客户发过来的复位信息可以看到复位是指针操作不当导致。 image
  3. 通过lst文件定位和文本显示有关 image
  4. 推测存在的可能有客户显示的文本数组越界、客户使用的数组是否是局部变量或已经释放、客户显示是使用使用的控件已经不存在。这事需要看客户代码,可以在lst文件看到具体行数。
  5. 看客户代码是在其他地方调用了text的指针进行刷新控件,这时候指针是不确定的导致死机。 image

B、案例2 客户反馈手表sdk通话就会死机

死机问题先拿到客户的异常中断信息,没处理过这种问题先在开发板测试。分类是否是共性问题

  1. 开发板测试并不会出现通话死机的情况。
  2. 拿到客户异常中断信息分析发现是内存不足导致 image
  3. 确定内存不足看门狗复位后,再确认通话时客户使用的回音算法等级和我们的是否一致。一致后客户还是会出现,但是开发板不会出现的情况,就需要排查客户什么地方使用了内存。重点排查大数组、malloc不释放的情况,还要确定在刚刚经过的页面中一直不断操作是否有内存泄露的情况。
  4. 排查后并未出现内存泄露的情况,最后发现是客户tp数组定义为静态导致,需要加const修饰。 image

三、SCB

A、案例1 memcpy()操作越界

memcpy()操作越界,打印报堆栈溢出错误 CPU0 stack overflow err。
image 打印提示:
通过printf("%s,%d", func, LINE);定位到函数返回时死机
死机地址:RAM区
堆栈溢出:[0-CPU] emu err msg : CPU0 stack overflow err
屏蔽掉写VM的句子程序正常运行

结论:
间接原因:写VM与死机有关
主要原因:写VM之前的临时变量使用memcpy()赋值越界导致当前函数返回时出现堆栈溢出错误。

B、案例2 休眠后不能点亮屏幕与FLASH兼容性问题

701N开机画面正常,待机休眠后,不能再次点亮屏幕WDT复位与FLASH兼容性问题有关

打印提示:
[0]task02 wait pnd...
[0]task02 wait pnd timeout.
[0-CPU] emu err msg : system excption(系统异常)
[2-HSB] emu err msg : watchdog time out(看门狗复位)
image 原因是某些厂商flash进入休眠后退出休眠需要发送特定的指令,不然会出现指令没有反映的情况,从而导致系统读不了flash卡死。

建议
1、增加flash厂商提供的释放深度睡眠流程
2、更换另外厂家的flash测试

C、案例3 6958C软关机后一直wdt复位

6958C低电关机后一直wdt复位,与内部flash的cs PB7口没有维持有关系。
现象是上电或者进入关机,过8秒后系统复位,复位源看门狗进关机复位一直循环。原因是内部flash使用了A组SPI,关机时没有对A组CS PB7进行保护,设成高阻,导致内部flash读写异常卡死了触发WDT复位。
打印现象以及解决方法:
image

D、案例4 刷图频繁导致WDT复位

刷图频繁导致WDT复位,比如频繁滑动触摸切图导致的死机。
解决方法:降低刷图频率或刷图时清看门狗

E、案例5 变量指针赋值溢出

image 打印提示信息:
死机地址:RAM区
debug err msg : cpu_read_reserved_address(读到保留区地址)
Stack Magic destory!
Stack Magic0 destory!

案例6 6958C退出低功耗提示堆栈溢出有可能是dcdc切换导致问题

案例7 701N 偶然死机没有打印或者提示栈溢出有可能跟当前任务栈内存空间不足导致

各个任务的栈占用空间打印接口:
const int config_system_info = 1;
注册定时器,定时调用 void os_system_info_output(void)。

案例8 静态区变量一些数组越界操作导致其他变量被改

客户有个歌名变量定义只分配1byte,赋值越界了改到后面的g_alarm_active_flag变量,导致一系列的问题
可以通过lst文件查看前后相关的变量是否有溢出操作。
image 案例9 flash_common_write_packet返回0,进断言死机,可能和当前文件id前面push后导致

image

本文档为保密信息,未经授权,请勿转发或告知第三方。非常感谢!
This electronic documentation and any attachments are confidential and may be legally privileged or otherwise protected from disclosure. If you are not the intended recipient, please do not disclose the contents to anyone。
Thank you for your cooperation!
解析权归杰理所有!
The analysis right belongs to JieLi Technology Co., Ltd.

Prev
BQB5.4 20231007
Next
不开机问题处理汇总(仅供参考)