高通平台ADSP崩溃及相关的问题

[Android][sensor]高通SEE架构下adsp平台的sensor低功耗原理 高通SEE架构下adsp平台的sensor低功耗原理 阅读详情
AI摘要

本文聚焦高通平台“Charger causing ADSP crash”问题,介绍了ADSP与音频的关系,分析了音频或麦克不可用的原因,涉及硬件、软件等层面。还给出了修复方法,如强制重启、更新固件等,同时指出可能原因和预防措施。

在高通(Qualcomm)平台上,“Charger causing ADSP crash”指的是由于充电器或充电相关的操作导致音频数字信号处理器(ADSP,Audio Digital Signal Processor)发生崩溃的问题。ADSP 是高通芯片组中的一个专用处理器,负责处理音频相关任务(如音频播放、语音处理等),以降低主处理器的负载并提高能效。同时在高通(Qualcomm)平台上,“Charger causing ADSP crash”与音频的关联主要源于音频数字信号处理器(ADSP,Audio Digital Signal Processor)在音频处理中的核心作用。ADSP 是高通芯片组中专门负责音频相关任务的子系统,如音频播放、录音、语音处理和麦克风管理等。当充电器相关操作导致 ADSP 崩溃时,音频功能(包括扬声器和麦克风)可能不可用或表现异常。以下是对其关系、依赖、问题原因以及修复方法的详细分析。


一、问题含义与背景

ADSP 崩溃通常表现为设备进入 Qualcomm Crash Dump Mode,屏幕可能显示类似“QUALCOMM CrashDump Mode”或“subsys-restart: Resetting the SoC - adsp crashed”等错误信息。这表明 ADSP 子系统因某种原因(如硬件冲突、软件错误或资源竞争)停止正常工作,触发系统保护机制,导致设备重启或进入诊断模式。

“Charger causing ADSP crash” 特指在连接充电器或充电过程中,ADSP 子系统因某些异常情况(如电压波动、驱动程序问题或硬件兼容性)而崩溃。常见于高通芯片设备(如搭载骁龙处理器的手机或嵌入式设备)。


二、ADSP 与音频的关系和依赖

ADSP 是高通 SoC(系统级芯片)中的独立处理器,专门处理音频相关任务,以减轻主 CPU(AP,Application Processor)的负担并提高能效。其与音频的关系和依赖包括以下几个方面:

  1. 音频处理功能:

    • 音频播放:ADSP 处理音乐、视频、游戏等音频输出,包括解码、混音和音效处理。
    • 录音与麦克风:ADSP 负责麦克风信号的采集、降噪和语音增强(如通话时的回声消除)。
    • 语音处理:支持语音助手(如 Google Assistant)、VoIP 通话和语音识别等功能。
  2. 依赖的软件组件:

    • 音频驱动:ADSP 通过内核驱动(如 snd_soc_msm)与系统交互,依赖音频相关的库文件(如 voiceproc_tx.so 和 voiceproc_rx.so)来处理输入输出信号。
    • FastRPC 框架:ADSP 通过 FastRPC 与主 CPU 通信,传输音频数据和控制指令。
    • 固件支持:ADSP 需要特定的固件(通常位于 /firmware 分区)来初始化和运行,固件损坏可能导致功能异常。
  3. 硬件依赖:

    • 电源管理:ADSP 对电压和功耗敏感,依赖芯片的电源管理单元(PMIC)提供稳定供电。
    • USB 控制器:充电器通过 USB 端口与设备交互,USB 控制器的驱动(如 msm_ehci_host)可能与 ADSP 共享资源,冲突可能导致崩溃。
  4. 与充电器的关联:

    • 充电器连接可能引发电压波动或 USB 信号干扰,影响 ADSP 的正常运行。
    • 某些充电器(如非官方或 USB-C 集线器)可能触发驱动冲突,干扰 ADSP 的 FastRPC 通信或资源分配。

三、为什么会导致音频或麦克不可用?

当充电器导致 ADSP 崩溃时,音频和麦克风功能不可用的原因包括:

  1. ADSP 子系统停止工作:

    • ADSP 崩溃后,系统进入 Qualcomm Crash Dump Mode 或触发看门狗(Watchdog)重启,导致音频处理功能暂停。
    • 扬声器和麦克风依赖 ADSP 处理信号,崩溃后这些功能直接失效,表现为无声音、麦克风无声或通话异常。
  2. 驱动或库文件异常:

    • 崩溃可能因音频相关库(如 voiceproc_tx.so 或 audio.primary.msm8998.so)加载失败,导致音频服务无法启动。
    • XDA 论坛用户提到,系统分区损坏或自定义 ROM 不完整可能导致 ADSP 无法加载必要的音频模块。
  3. 资源竞争或冲突:

    • 充电过程中的 USB 控制器(如 msm_ehci_host)可能与 ADSP 竞争系统资源(如内存或中断),导致 ADSP 异常退出。
    • 高负载场景(如充电时运行音频密集型应用)可能使 ADSP 资源不足,触发崩溃。
  4. 电压或信号干扰:

    • 非标充电器可能引起电压不稳,影响 ADSP 的电源管理,导致音频处理异常。
    • USB-C 集线器或劣质电缆可能引入电磁干扰,影响 ADSP 的信号处理。

四、涉及的内容与可能的问题

ADSP 崩溃涉及以下几个关键方面:

  1. 硬件层面:

    • 充电器兼容性:非官方或低质量充电器可能导致电压不稳定或电流异常,干扰 ADSP 的正常运行。
    • USB 端口/控制器问题:如 Qualcomm Developer Network 讨论中提到的,USB2 端口使用不同控制器(如 Qualcomm EHCI Host Controller)可能引发崩溃,而 US
高通ADSP charger初探 在高通一些平台上已经把充电相关的东西从 AP 移到 ADSP 中,AP 仅保留 HAL 从 power supply core 读取数据的一些接口。高通文档上说了很多优点,我认为主要2点:1. 主体从linux剥离后,不管后续linux怎么变动,对OEM来说只要高通的架构不变,基本没有影响。2.功耗ADSP是一个低功耗的核,主体算法在ADSP跑要比在AP上跑省功耗得多。 阅读详情

相关推荐

linux 内核死机 堆栈,高通平台Linux kernel死机解题心得

1、前言1.1 目的能够借助相关调试工具,使用一般分析手段分析、定位解决项目过程中遇到的死机类系统稳定性问题,提升工作效率持续积累,拓宽知识深度和广度1.2 死机?指系统发生致命性异常导致主动或者被动进入系统完全不可用的状态,导致系统死机的问题原因有很多,排除硬件问题,还有这些大模块:Android、Linux kenrel、modem、TZ 等等,各个子系统都有可能导致系统死机重启,我们这里主要...

weixin_29083649的博客 3657

高通平台SSR重启策略深度解析:从配置到故障恢复的实战指南

本文深度解析高通平台SSR(Subsystem Restart)重启策略,涵盖从核心价值、四种重启模式的应用场景,到底层配置、故障注入测试及RAM Dump调试的实战指南。通过详细命令和案例,帮助开发者掌握SSR配置与故障恢复,提升系统稳定性与用户体验。

vv45678的博客 724

实战记录:用QXDM工具抓取高通8550传感器日志的7个关键技巧

本文分享了使用QXDM工具抓取高通8550平台传感器日志的7个实战技巧。针对传感器间歇性失效、数据跳变等量产难题,文章详细介绍了如何通过精细化日志过滤、延迟初始化组合拳、主动触发SSR、分析I2C冲突等方法,深入ADSP/SLPI内部进行高效诊断,帮助开发者系统化解决复杂传感器问题。

websocket5live的博客 222

高通平台音频控件封装实战:从ALSA kcontrol到Mixer Path的设计与调试

在嵌入式音频系统开发中,硬件控件的合理封装是保障上层业务稳定运行的基础。ALSA kcontrol作为最底层的寄存器映射,直接管理着Codec与功放的各项参数;而高通的Mixer Path机制则将这些散落的控件按场景组合成完整的音频通路。深入理解控件在不同层次的存在形态与生命周期,才能设计出既灵活又稳定的接口。通过QACT拓扑分析与tinymix验证,工程师可以快速掌握底层行为,并在Audio HAL层构建可复用的控件封装层,有效解决路由切换、音量调节、休眠恢复等场景下的适配难题。围绕高通平台的工程实践,系

weixin_33805743的博客 1060

解密高通APSS与协处理器:为什么你的音频子系统总在低功耗模式下崩溃?

本文深入解析高通APSS与协处理器架构,揭示音频子系统在低功耗模式下崩溃的根本原因。通过分析PIL加载机制、资源冲突及跨平台适配问题,提供实战调试方案与优化策略,帮助开发者解决LPASS崩溃难题,提升系统稳定性。

linux6sysadmin的博客 744

高通平台音频控件封装实战:架构设计与调试指南

在嵌入式音频开发中,底层音频通路的多样性与平台差异常常让应用层难以稳定复用。理解音频架构(如HAL、DSP)是进行高效开发的基础,而通过软件封装将复杂底层能力抽象为简洁控件接口,则能显著提升跨项目复用效率。围绕音频设备路由、音量映射、事件回调等核心概念展开,介绍一种分层设计思路,并结合高通平台的AIS/HAL特性,给出JNI封装、生命周期管理及关键流程的实现要点,同时分享常见问题排查与调试工具使用经验。对于从事系统音频或SDK开发的工程师,掌握这种封装方法可有效隔离平台差异,降低维护成本,让上层业务更专注于

weixin_33834075的博客 345

Android 14高通平台音频无声排查:从Audio HAL到tinyalsa全链路解析

Android音频系统的复杂性常体现在上层接口与底层硬件之间的漫长链路。无论是媒体播放还是通话,音频数据都要经过AudioFlinger、AudioPolicyManager、Audio HAL、tinyalsa直至内核ASoC框架。理解这一链路对排查无声、杂音等问题至关重要。在高通平台上,音频处理大量下沉至ADSP,HAL层的路由配置尤为关键。Android 14全面转向AIDL HAL,进一步增加了厂商适配难度。音频调试中,利用tinymix和tinyplay等工具验证PCM节点和Mixer控制,可以快

weixin_29171087的博客 338

linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解、校准流程详解)

本系列导航: linux驱动由浅入深系列:高通sensor架构实例分析之一(整体概览+AP侧代码分析) linux驱动由浅入深系列:高通sensor架构实例分析之二(adsp驱动代码结构) linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解) 从adsp获取数据的方法分为同步、异步两种方式,但一般在实际使用中使用异步方式,因为同步获取数据会因

Radia的专栏 1万+

高通平台WiFi学习--- WLAN 问题调试:从日志捕获到分析的全流程指南

在嵌入式与移动设备开发领域,WLAN 作为核心的无线连接模块,其稳定性与性能至关重要。当 WLAN 出现故障时,高效的调试手段能大幅缩短问题解决周期。本文将围绕 WLAN 问题调试,详细讲解从日志捕获到分析的全流程方法。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 361

高通平台Audio Bringup实战:从固件加载到ACDB校准的关键链路

嵌入式音频驱动的稳定性直接影响设备体验,而底层总线的链路完整性是音频工作的基础。在复杂SoC平台上,音频子系统涉及固件加载、总线枚举、设备树匹配和校准数据库等多个环节。以SLIMbus为例,它负责连接codec与主控,若总线未正常枚举,声卡将无法注册。掌握一套系统的排查顺序,能显著缩短开发周期。高通平台Audio Bringup的关键检查点与常见故障案例,涵盖从PIL到ACDB的完整链路,可供音频驱动工程师参考。

weixin_29171087的博客 139

高通SEE框架如何实现ADSP跟kernel通信 h文件,头文件

高通kernel实现sensor节点

手把手教你搭建日本亚马逊CVV钓鱼系统(含自动验证功能)

本文详细介绍了电商平台安全防护的关键实践,重点讲解了如何构建自动化风控系统。内容包括基础架构设计、用户行为分析、交易风险评估模型构建、验证机制实现以及系统部署优化,帮助电商平台有效识别和防范安全威胁,同时提升用户体验。

weixin_30952535的博客 813

【计算机视觉40例】案例08:石头剪刀布手势识别

计算机视觉40例——从入门到深度学习(OpenCV-Python)》在介绍Python基础、OpenCV基础、计算机视觉理论基础、深度学习理论的基础上,介绍了计算机视觉领域内具有代表性的40个典型案例。这些案例中,既有传统的案例(数字识别、答题卡识别、物体计数、缺陷检测、手势识别、隐身术、以图搜图、车牌识别、图像加密、指纹识别等),也有深度学习案例(图像分类、风格迁移、姿势识别、实例分割等),还有人脸识别方面的案例(表情识别、驾驶员疲劳监测、识别性别与年龄等)。......

计算机视觉之光 2155

穿透鼠标实现后台点击,适用于任何窗口!【后台鼠标】【风雪】

也许你就是被这标题吸引来的,呵呵!好久没发帖了,勾引一下大家的胃口,当然有的人已经猜出原理了!既然来了,都要把原理学回家,不然就没意思了!很多游戏现在都不支持后台消息鼠标,要实现真的不是简单的,什么注入dll啊,什么hook俺也学不懂,那就简简单单另辟蹊径了下面来讲讲原理吧(下面的玩玩可以,用于实际不现实,俺也不藏了,看到这么多人回复,良心过意不去,呵呵)首先,将要点击的窗口上面覆盖的所有窗...

weixin_34129145的博客 1万+

生物信息学名词解释 | K-mer (长度为k的短序列)

K-mer 何谓K-mer 所谓Kmer,即为一段长度为k的DNA片段,是由测序reads剪切一部分得到的。k为一个奇数,k=几,就为几mer。 比如:我的测序reads长度为100bp,我将这100bp打断成17bp的短片段,打断后的17bp段片段就叫17mer,可以获得(100-17+1)条k-mer序列。 Table1 k-mers for GTAGAGCTGT. k k-mers 1 G,T,A,G,A,G,C,T,G,T 3 GTA,TAG,AGA,GAG,AGC,GCT,CT

qq_50637636的博客 2万+

智能车图像处理9-进阶篇1--中线的提取

(1)10-50行 基础扫线 (2)56-71 断行0 ,就是比如遇到十字,十字路口下方 第一次断线的地方。 (3)83-124 按照原先有效行,拟线作为中值,然后从中值向左右扫线,同时计算赛道宽度。 (4)125-138 如果出现赛道宽度小于先前有效行,则找到二次扫线的起点,从二次扫线起点处,继续向下扫线,直至结束,同时记录最后的有效行。 (5) 310-- 最后计算左右边线类似于方差的值,用于环岛的判断 ***这里着重描述一下二次扫线,希望大家可以理解的深刻

taiyuezyh的博客 1万+

配置 SAP Fiori 服务的 ICF 节点:从 SICF 激活到访问链路打通的完整实践

在SAP Fiori项目实施中,ICF节点配置是关键前置条件却常被忽视。ICF(Internet Communication Framework)作为HTTP请求入口,需要通过SICF事务码激活相关服务节点,否则即使应用开发完善,用户仍可能遇到页面无法访问等问题。典型问题表现为:磁贴可点击但页面空白、资源加载失败等。激活路径主要涉及三组节点:bsp分支下的管理入口、ui5_ui5分支下的应用资源,以及public/bc下的公共资源。项目实施中需特别注意同名服务在不同分支下的差异化作用,确保完整链路通畅。IC

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 262

目标检测YOLO实战应用案例100讲-基于数据融合的SAR图像中海上目标检测与跟踪(中)

本文使用的数据集为欧空局(European Space Agency, ESA)提供的Sentinal-1 数据集,Sentinel-1是欧洲“哥白尼计划”的SAR卫星机群,主要是用于陆地和海 洋服务的极地轨道全天候昼夜雷达成像任务[ 34]。Sentinel-1A于2014年4月3日发 射升空,Sentinel-1B于2016年4月25日发射升空,每颗卫星都携带C波段SAR, 共同提供地球表面的全天候、昼夜图像。

qq_36130719的博客 355

特殊通信领域场景应用:基于Simulink的数字预失真(DPD)算法仿真建模示例

增益压缩:高功率输入时输出信号的增益下降。相位失真:输入信号的相位随功率变化而改变。带外干扰:非线性失真会引入额外的频谱分量,影响邻道信号。多项式模型:用多项式拟合功率放大器的非线性特性。查找表(LUT):通过离线训练生成预失真映射表。自适应算法:实时调整预失真参数以动态补偿失真。发送端:生成随机比特流并调制为射频信号。预失真模块:对输入信号进行预失真处理。功率放大器模块:模拟非线性失真。接收端:解调信号并评估误码率(BER)。

xiaoheshang_123的博客 272

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 基于 Anaconda 插件开发的全面技术指导文档
下一篇: 关于USB模式的一些内容(附USB接口颜色释义图)
scriptsboy
博客等级 码龄17年 191粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scriptsboy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值