当前位置: 首页 > article >正文

高通8255 Android STR 启动失败要因分析调查

目录

背景:

调查过程:

步骤1:  slog2info | grep vmm_service

步骤2:  slog2info | grep qvm

总结:

解决方案


背景:

调试高通8255 STR的STR过程中发现Android和QNX进入STR状态后,脱出STR时,Android发生了重启。

调查过程:

 参照高通文档 Fetch-and-Fill  Android启动和QNX vmm_service 进程有直接关联

步骤1:  slog2info | grep vmm_service

在qnx侧控制台此使用命令 slog2info | grep vmm_service

 主要是确认 vmm_service 进程状态,通过log可以看到,当ACC OFF àON后

       ①gvm_PID died 即 gvm(Android) 挂掉了 

       ② vmm_service 重启了gvm(Android)

步骤2:  slog2info | grep qvm

通过QNX控制台命令  slog2info | grep qvm

同步确认 vmm_service 和 qvm 相关log内容

按照上述理解,vmm_service 检测gvm(原有PID为561299) 挂掉的时间是 20:53:15左右

从qvm log看,①  20:53:03 ~05 QNX进入了STR状态

                           ② 20:53:15 开始脱出STR

                           ③  随后发生了某些问题,导致 qvm.561299退出,即Android退出

大概AI查询了一下相关含义,如下: 

总结:

暂时认为是 在QNX的STR状态下或正在脱出STR时,QNX某唤醒源试图唤醒gvm,导致gvm退出,随后 vmm_service 重启了gvm进程。

因为缩小了范围是中断产生,所以需要判断是什么中断。随后结合进出STR方法,确认接续屏幕问题可发生,不接续屏幕不可发生,再结合其他实验,可以确认是链接到屏幕的外部中断导致此问题

解决方案

需要在kernel driver代码中(pinctrl-msm.c)在irq-disable或enable中追加屏蔽外部中断代码,禁用相关中断防止问题发生


http://www.kler.cn/a/511013.html

相关文章:

  • 第5章:Python TDD定义Dollar对象相等性
  • 密钥轮换时,老数据该如何处理
  • 如何在不暴露MinIO地址的情况下,用Spring Boot与KKFileView实现文件预览
  • Vue前端框架概述
  • 【Linux系统编程】—— 深入理解Linux中的环境变量与程序地址空间
  • C#表达式和运算符
  • Linux 常用命令——文件目录篇(保姆级说明)
  • MySQL中的GROUP_CONCAT函数将分组后的多个行值合并成一个字符串,并用指定分隔符连接
  • 《论文阅读》通过思维链微调产生原因感知的同理心反应 2024
  • 规避路由冲突
  • 【Vim Masterclass 笔记21】S09L39:Vim 设置与 vimrc 文件的用法示例(二)
  • AI守护煤矿安全生产:基于视频智能的煤矿管理系统架构解析
  • Python在DevOps中的应用:自动化CI/CD管道的实现
  • 从C到C++:嵌入式开发中两者的差异与过渡技巧
  • C# 声明废弃特性
  • 使用 Go 语言生成样式美观的 PDF 文件
  • LeetCode - #187 Swift 实现重复的DNA序列
  • 事务处理系统 (Transaction Processing System, TPS)
  • TCP报文格式与核心机制
  • Pycharm报错:libpng warning: iCCP: known incorrect sRGB profile
  • [手机Linux] 七,NextCloud优化设置
  • 生成模型:生成对抗网络-GAN
  • 数据库高可用方案-07-一致性校验
  • Linux-day06
  • Django SimpleUI 运维系统与云管理平台的常用图标指南
  • git操作(Windows中GitHub)