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/coGBef6Xm4Hq 死机分析

  1. 异常信息表

  2. instruction fetch hmem excption (预取指令异常) (读写数据异常,非法地址不属于hmem区域)

  3. read hmem excption (读数据地址) (读数据异常,数据读越界包括数组以及结构体相关)

  4. write hmem excption (写数据地址异常) (写数据异常,数据写越界包括数组以及结构体相关)

  5. stack overflow err (栈溢出异常) (堆栈空间异常,主要查看是否对应任务局部数组等比较大以及函数嵌套层数过多)

  6. div0_err (除0异常)

  7. illegal_err (非法指令异常) (非法地址读写 一般出现代码错误比较多比如说函数指针错误)

  8. misalign_err (不对齐异常,不可屏蔽) (非对齐操作,一般出现内存释放后还访问内存导致)

  9. system excption (系统异常)

  10. icache excption (icache异常)

  11. lg0 access mmu excption(printf\sprintf...传参错误)

  12. dcache excption (dcache异常) image

  13. 调试异常死机方法 【金山文档】 打印调试方法
    打印调试方法.otl
    查看文档中第五点获取所对应的文件

  14. 一般定位死机方法

  15. 需要准备一份完整死机打印log以及sdk.lst文件

  16. 参考分析以下问题 【金山文档】 sdk_lst
    https://kdocs.cn/l/ccQs7JN2PBMr
    【金山文档】 debug_log
    debug_log.TXT

  17. 参考以下分析流程 imageimageimageimageimage

  18. 目前分析到这里大部分死机可以找到死机原因

  19. 堆栈回溯

  20. 第三点主要是针对一些reti指针死在用户代码或者应用层代码进行分析

  21. 一般还存在定位到的死机位置位于断言函数或者底层库中代码,需要自己分析可以进行堆栈回溯找到对应应用层死掉的位置

  22. 使用第三点中死机log和sdk.lst文件继续分析

  23. 目前知道死在ui_core.c 62 ui_core_redraw函数中,如果需要继续回溯上层调用的函数,需要结合打印log中的usp和sdk.lst文件进行回溯 imageimageimageimageimageimage

  24. 可以根据上面分析流程类推死机问题分析(除了内存改写或者死在中断)

  25. 分析死机经验

  26. 一般遇到misalign_err对齐错误直接看另外一条死机信息会比较准确 2.如果遇到reti和rets找到的函数中没办法直接回溯,建议通过usp找到 xx xx xx 06(例如上面的08 47 04 06 )数据作为搜索然后根据原来回溯方式,如果这个地址是正确的话,那么理论上找到的地址也是xx xx xx 06格式的这里以701为准,其他系列可以根据sdk.lst等同。

本文档包含以下子页面

  • 打印调试方法
Prev
本地录音开启及调试
Next
表盘传输APP层的压缩算法