news 2026/4/18 21:44:10

安卓/MTK平台日志关键词详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
安卓/MTK平台日志关键词详解

安卓/MTK平台日志关键词详解

MDP (Media Data Path)

全称:多媒体数据通路
作用

  • 负责图像/视频数据的处理流水线
  • 包括缩放、旋转、格式转换等操作
  • 连接显示、摄像头、视频编解码等模块
    日志含义cmdq_core_resume_notifier ref:0表示MDP恢复通知,引用计数为0

CMDQ (Command Queue)

全称:命令队列引擎
作用

  • MTK独有的硬件加速架构
  • 将CPU任务卸载到专用硬件执行
  • 主要用于显示、视频、图像处理
    特点
  • 并行处理多个命令流
  • 减少CPU负载和功耗
  • cmdq_suspend ignore表示忽略挂起(可能没有活动任务)

SCP_DVFS (System Control Processor - Dynamic Voltage Frequency Scaling)

全称:系统控制处理器动态电压频率调节
作用

  • 管理协处理器(SCP)的电源状态
  • 根据负载动态调整SCP的电压和频率
  • SCP通常处理传感器、音频等低功耗任务
    日志含义scp_sleep_cnt_0 = 30007694记录SCP进入睡眠的次数

VCP (Video Co-Processor)

全称:视频协处理器
作用

  • 专门处理视频编解码的硬件模块
  • 支持H.264/H.265/VP9等格式
  • 功耗低于CPU/GPU处理
    日志含义PM_POST_SUSPEND entered 0 1表示视频协处理器进入休眠后状态

DIP (Digital Image Processor)

全称:数字图像处理器
作用

  • 专门处理摄像头图像数据的硬件
  • 包括降噪、HDR、色彩校正等
  • 位于摄像头流水线中
    日志含义G_u4DipEnClkCnt: 0, g_u4DipCnt: 0表示DIP时钟启用计数和实例计数都为0

MTK-BT (MediaTek Bluetooth)

全称:联发科蓝牙子系统
组成

  • 蓝牙协议栈
  • 蓝牙硬件控制器
  • 电源管理模块
    日志内容
  • BR_INQURY_SCAN:蓝牙查询扫描状态
  • BR_SCAN_MODE:蓝牙扫描模式
  • BLE_ADV:蓝牙低功耗广播状态

WLAN (Wireless LAN)

全称:无线局域网子系统
关键日志

  • FW OWN:1:固件拥有控制权
  • DRIVER OWN:驱动拥有控制权
  • qmFlushTimeoutReorderBubble:WiFi队列管理中的重新排序超时

PM (Power Management)

全称:电源管理
状态机

  1. PM_SUSPEND_PREPARE(3):准备进入休眠
  2. PM_SUSPEND_PREPARE(4):休眠后恢复
  3. PM_SUSPEND_PREPARE(2):恢复准备
    工作流程
  • Freezing user space processes:冻结用户空间进程
  • Freezing remaining freezable tasks:冻结剩余可冻结任务
  • OOM killer disabled:禁用内存不足杀手

WMT-CONSYS-HW (Wireless Module Technology - Connectivity SOC Hardware)

全称:无线模块技术-连接SOC硬件
作用

  • 管理WiFi/蓝牙/GPS的共存
  • 硬件资源共享和仲裁
  • 电源状态同步
    日志内容
  • consys_dump_osc_state:振荡器状态
  • consys_dump_gating_state:时钟门控状态

MTK-MSDC (MediaTek MultiMedia Card/SD Card Controller)

全称:联发科多媒体卡/SD卡控制器
关键操作

  1. HS400调校

    [msdc_execute_hs400_tuning_cmd]:执行HS400调校 phase: [map:ffffffff]:相位图 final_rise_delay.start=0,maxlen=32,final_phase=10:最终延迟设置
  2. 电源管理

    • msdc_runtime_resume: success to fix vcore:恢复时固定核心电压
    • msdc_runtime_suspend: success to release vcore:挂起时释放核心电压

DISP (Display)

全称:显示子系统
组成

  • 显示驱动
  • 合成器(Composer)
  • 显示接口(MIPI/HDMI)
    日志含义Disabling CRTC wakelock:禁用CRTC唤醒锁(CRTC:阴极射线管控制器,泛指显示控制器)

tlTeeSOTER

全称:Trustonic TEE SOTER(Secure Terminal)
作用

  • 提供可信执行环境
  • 安全密钥存储
  • 硬件级安全操作
    关键功能
  • ARMv8 crypto instructions:使用ARMv8加密指令
  • Neon instructions:使用Neon指令集加速
  • RPMB operations:Replay Protected Memory Block操作

SPM (System Power Manager)

全称:系统电源管理器
作用

  • 管理芯片级电源状态
  • 控制电源域开关
  • 时钟门控
    关键日志
  • suspend start:休眠开始时间戳
  • suspend end:休眠结束时间戳

关键操作详解

msdc_runtime_suspend: success to release vcore

含义:eMMC控制器运行时挂起成功,释放核心电压
技术细节

  • vcore:核心电压,eMMC控制器工作电压
  • release:降低电压或关闭电源域
  • 目的:在空闲时降低功耗

Suspend (挂起)

完整流程

  1. PM_SUSPEND_PREPARE(3):各模块准备休眠
  2. Freeze processes:冻结进程
  3. Peripheral suspend:外设挂起
  4. Clock gating:时钟门控
  5. Power domain off:关闭电源域

Resume (恢复)

完整流程

  1. IRQ trigger:中断触发唤醒
  2. Power domain on:开启电源域
  3. Clock enable:启用时钟
  4. Peripheral resume:外设恢复
  5. PM_POST_SUSPEND(4):休眠后处理
  6. Unfreeze processes:解冻进程

系统状态转换

正常状态 ↓ PM_SUSPEND_PREPARE 准备休眠 → 冻结进程 → 外设挂起 ↓ 深度休眠 (s2idle) ↓ IRQ唤醒触发 ↓ 恢复外设 → 解冻进程 ↓ PM_POST_SUSPEND 正常状态

错误场景分析

在日志中,问题是:

  1. 时序冲突:eMMC正在挂起(电源释放)
  2. 并发访问:TEE同时进行RPMB操作
  3. 权限违规:MCU在eMMC时钟关闭后仍尝试访问

根本原因:电源管理状态机与外设操作缺乏同步机制,导致竞争条件。

第一部分:唤醒过程(Resume) 时间戳:149012.910756 开始 MDP(Media Data Path):媒体数据路径,通常与显示、图像处理相关。[MDP]cmdq_core_resume_notifier ref:0:表示MDP的cmdq核心恢复通知,ref计数为0。 cmdq:Command Queue,命令队列,用于处理多媒体任务的硬件队列(如显示、视频编解码)。[cmdq]mdp buffer pool already created:表示mdp的缓冲区池已经创建。 Resume caused by IRQ138, wlan0:唤醒由中断138触发,即wlan0(无线网络)中断。 scp_dvfs:SCP(System Control Processor)动态电压频率调节。[scp_dvfs]:[SCP][mt_scp_dump_sleep_count:2137]- scp_sleep_cnt_0=30007694:SCP的睡眠计数,用于调试电源管理。 timesync:时间同步,记录系统时间。 timesynchostresume boottime361140487354924:主机恢复时的启动时间。 VCP(可能是Video Co-Processor,视频协处理器):[VCP]PM_POST_SUSPEND entered01:VCP进入PM_POST_SUSPEND状态(休眠后)。 SPM(System Power Manager):系统电源管理。[name:spm&][SPM]suspendend2025-12-01 07:50:22.835128 UTC:表示休眠结束。 CAM_MEM:摄像头内存管理。[CAM_MEM][cam_mem_pm_event_resume]EnableLarbCount:0,devct:1:摄像头内存恢复,启用Larb(Local Address Remap Buffer)计数。 DIP(Digital Image Processor):数字图像处理器。[DIP][dip_suspend_pm_event]DIP resume G_u4DipEnClkCnt:0, g_u4DipCnt:0:DIP恢复,时钟计数和DIP计数为0。 wlan:无线局域网。[wlan][10613]wlan_pm_notifier_call:(REQ INFO)pm_event:4PM_POST_SUSPEND:wlan电源管理通知,事件为PM_POST_SUSPEND(休眠后)。 MTK-BT:联发科蓝牙。[MTK-BT]bt_pm_notifier_callback: bt_pm_notifier_callback: btonflag[1], event[4]:蓝牙电源管理回调,事件4(PM_POST_SUSPEND)。 PM(Power Management):电源管理。 PM:suspendexit:表示休眠退出,即系统唤醒。 WMT-CONSYS-HW(Wireless Module Tethering - Connectivity SoC Hardware):无线连接SOC硬件。 打印了一些硬件状态信息,如时钟门控状态等。 mtk-msdc(MTK Memory Stick/SD Card Controller):MTK存储卡控制器(这里指eMMC控制器)。 日志中看到msdc在进行时钟调整和调谐(tuning),这是为了确保eMMC通信的稳定性。 DISP(Display):显示。 在后续的休眠日志中看到[DISP]Disabling CRTC wakelock,表示解除显示CRTC(阴极射线管控制器,这里泛指显示控制器)的唤醒锁。 第二部分:再次进入休眠(Suspend) 时间戳:149013.424675 PM:suspendentry(s2idle):系统进入休眠(s2idle是一种浅休眠状态)。 Filesystems sync:文件系统同步。 log_store:writepmic value 0x98:写PMIC(电源管理集成电路)值,可能是记录休眠事件。 VCP:[VCP]PM_SUSPEND_PREPARE entered00:VCP进入PM_SUSPEND_PREPARE状态(准备休眠)。 Trustonic TEE:一种可信执行环境(TEE)解决方案。 日志中出现了多个TEE相关的操作,包括RPMB(Replay Protected Memory Block)的读写。RPMB是eMMC中的一个安全分区,用于存储敏感数据。 SPM:[name:spm&][SPM]suspendstart2025-12-01 07:50:23.382566 UTC:SPM开始休眠。 CAM_MEM、DIP、wlan、MTK-BT等模块依次进入休眠准备。 Freezing user space processes:冻结用户空间进程,这是休眠的标准步骤。 OOM killer disabled:禁用OOM(Out Of Memory)杀手。 Freezing remaining freezable tasks:冻结剩余可冻结任务。 kbase_device_suspend:GPU(图形处理器)挂起。 MDP、cmdq、FDVT(Face Detection and Verification Technology,人脸检测和验证技术)等模块挂起。 TP(Touch Panel,触摸屏)挂起。 mt6685-rtc:实时时钟(RTC)设置报警时间。 upm7610:可能是电源管理芯片。 nfc_i2c_dev_suspend:NFC(近场通信)挂起。 第三部分:错误发生 在休眠过程中,出现了两个关键错误: eMMC命令超时: text[149013.510436][C1000000]mtk-msdc11230000.mmc: msdc_cmd_done:cmd=6arg=0x30F0001;rsp 0x0;cmd_error=-110;host_error=0x2 命令6(MMC_SWITCH)超时(-110),主机错误0x2(可能是命令超时或硬件错误)。 设备访问权限违规(DEVAPC Violation): text[149013.511080][C1000000][DEVAPC]: catch it from INFRAAXI_MI Master is: MCU_AP_M[149013.511096][C1000000][DEVAPC]: Violation - master: MCU_AP_M access violation slave: MSDC0_S-1[149013.511108][C1000000][DEVAPC]: Reason: power/clock is not enabled 设备访问保护(DEVAPC)发现违规:主设备MCU_AP_M试图访问从设备MSDC0_S-1(即eMMC控制器),但此时eMMC控制器的电源或时钟未开启。 随后,系统打印了时钟配置寄存器(CLK_CFG)的状态,可能是为了调试。 第四部分:关键术语解释 MDP:Media Data Path,媒体数据路径,处理视频、图像等媒体数据。 cmdq:Command Queue,命令队列,用于管理硬件任务队列,常见于多媒体任务。 scp_dvfs:System Control Processor Dynamic Voltage and Frequency Scaling,系统控制处理器动态电压频率调节,用于电源管理。 VCP:可能是Video Co-Processor,视频协处理器,用于视频编解码等。 DIP:Digital Image Processor,数字图像处理器,用于图像处理。 MTK-BT:联发科蓝牙模块。 wlan:无线局域网。 PM:Power Management,电源管理。 WMT-CONSYS-HW:无线连接SOC硬件,包括Wi-Fi、蓝牙、GPS等。 mtk-msdc:联发科存储卡控制器,用于控制eMMC或SD卡。 DISP:Display,显示相关。 tlTeeSOTER:Trustonic TEE(可信执行环境)的一个组件,用于安全操作。 SPM:System Power Manager,系统电源管理。 msdc_runtime_suspend: success to release vcore:msdc运行时挂起成功,释放核心电压(vcore)。 suspend:挂起,指设备进入低功耗状态。 Resume:恢复,指设备从低功耗状态唤醒。 总结 从日志看,系统在唤醒后很快又进入了休眠。在休眠过程中,eMMC控制器(msdc)发生了命令超时,并且随后发生了设备访问违规(DEVAPC),原因是eMMC控制器的电源或时钟已经关闭,但仍有主设备(MCU_AP_M)试图访问它。 可能的原因:在休眠流程中,eMMC控制器提前关闭了电源或时钟,但安全环境(TEE)中的RPMB操作仍在进行,导致访问冲突。这可能是电源管理时序问题,需要调整休眠流程中模块的关闭顺序,或者确保在eMMC控制器关闭前完成所有访问。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 9:44:55

SPI方式读写SD卡

模块连接示例: CS - PA4 SCK - PA5 MISO - PA6 MOSI - PA7记得打开MicoLib#ifndef __SD_H #define __SD_H#include "main.h" #include "spi.h" #include "ff.h"extern uint8_t SD_TYPE;//SD卡类型 #define ERR 0x00 #define MMC…

作者头像 李华
网站建设 2026/4/18 9:41:18

EmotiVoice在盲文辅助阅读设备中的整合方案

EmotiVoice在盲文辅助阅读设备中的整合方案 在视障人群的信息获取方式中,传统的物理点显器虽能提供精确的盲文触觉反馈,但其高昂成本、笨重体积和有限内容承载能力,严重制约了普及程度。与此同时,智能手机与嵌入式系统的飞速发展&…

作者头像 李华
网站建设 2026/4/18 9:45:41

AAAI 2026 | T3Time:动态对齐三模态,实现全场景精准预测

这篇文章主要介绍了一种名为 T3Time 的新型多变量时间序列预测模型。简单来说,以往的预测模型通常只盯着数据随时间变化的规律,或者虽然引入了外部描述(如文本提示),但结合得很生硬。这就好比一个人在预测天气时&#…

作者头像 李华
网站建设 2026/4/18 9:45:40

17、为Windows网络管理员实现Linux迁移:连接Windows工作站指南

为Windows网络管理员实现Linux迁移:连接Windows工作站指南 在网络管理的领域中,将Linux融入基于Microsoft Windows的网络环境是一项具有挑战性但又极具价值的任务。本文将详细介绍如何将各种Microsoft Windows工作站连接到基于Linux的主域控制器(PDC),涵盖账户准备、登录…

作者头像 李华
网站建设 2026/4/18 7:57:54

22、打印机配置与Linux系统管理指南

打印机配置与Linux系统管理指南 打印机配置 1. Windows系统下打印机配置 无安装光盘时的驱动安装 :若没有Windows安装光盘,点击“OK”,系统会提示输入所需文件的位置。若文件位置不同,可浏览并找到打印驱动。之后,Windows会安装所选的打印驱动,网络打印机即可使用。 …

作者头像 李华