diag_service的GLINK_IST是怎么来的

高通平台smd分析及smem共享内存的创建笔记 高通平台smd分析及smem共享内存的创建笔记 tags : linux driver 最近研究高通平台的音频相关,由于实在受不了没头没尾的数据,所以就顺便研究了一下smd以及smem,这篇博客就是一个笔记,比较杂乱,主要用来备忘! 网上找到一些关于smd的文章,但是基本上都仅限于smd,只讲述了smd的channel相关,但是channel的内存到底哪里来的,smem到底是怎么回事好像... 阅读详情

背景

平台:SA8155,Q+A 1.2.1

8155上集成了很多IP核,其中有不少的IP本质上是arm M核或者R核,这些模块在开发或者使用过程中也是需要监控和诊断的,但是他们并没有外部的调试接口,高通设计了整套诊断框架通过APSS(application processer subsystem)用来实现对这些IP核的诊断和监控。这套诊断框架支持从上位机PC的 QPST/QXDM软件对IP core的访问,也支持从APSS直接访问。

diag_service线程信息

在查看diag_service线程信息,我们能看到,这个有几个以GLINK_IST_x命名的中断线程:

# pidin -p 32790 threads
     pid tid name               thread name          STATE       Blocked                     
   32790   1 bin/diag_service   1                    RECEIVE     10                          
   32790   2 bin/diag_service   DALTimer_dispatcher  RECEIVE     2                           
   32790   3 bin/diag_service   Workloop             SEM         fff8089e64620f94            
   32790   4 bin/diag_service   GLINK_IST_481        INTR                                    
   32790   5 bin/diag_service   GLINK_IST_188        INTR                                    
   32790   6 bin/diag_service   GLINK_IST_606        INTR                                    
   32790   7 bin/diag_service   glink_ssr_handler    REPLY       24586                       
   32790   8 bin/diag_service   ipcr_lpass           CONDVAR     (0x270731be10)              
   32790   9 bin/diag_service   ipcr_cdsp            CONDVAR     (0x270731bce0)              
   32790  10 bin/diag_service   ipcr_mpss            CONDVAR     (0x270731bbb0)              
   32790  11 bin/diag_service   IPC_ROUTER_RM        RECEIVE     3                           
   32790  12 bin/diag_service   diag_timer_handler   RECEIVE     5                           
   32790  13 bin/diag_service   diag_task            CONDVAR     (0x5134b3e34)               
   32790  14 bin/diag_service   pdbg_rm              RECEIVE     6                           
   32790  15 bin/diag_service   diag_resmgr          RECEIVE     17                          
   32790  16 bin/diag_service   diag_fwd_task        CONDVAR     (0x5134bc17c)               
   32790  17 bin/diag_service   diag_compress_task   CONDVAR     (0x5134bc0cc)               
   32790  18 bin/diag_service   ssr_event_monitor    REPLY       700466                      
   32790  19 bin/diag_service   diagcomm_udp         CONDVAR     (0x270733cac0)              
   32790  20 bin/diag_service   GLinkSMEMlpass       CONDVAR     (0x27073104a4)              
   32790  21 bin/diag_service   GLinkSMEMmpss        CONDVAR     (0x27073104f4)              
   32790  22 bin/diag_service   GLinkSMEMcdsp        CONDVAR     (0x2707310544)

我们想了解的是这几个线程是怎么来的,如何创建的

GLINK_IST_x中断线程创建

调用时序图:

对应的dts文件以及节点信息:

target/filesets/dtsi/sdm8155.dtsi

    smem_info {

        mpss@0 {
            id = <0x1>;
            interrupts = <0x1e1>;
            reg = <0x17c0000c 0x1000>;
            tx-fifo-size = <0x4000>;
            tx-mtu-size = <0x1000>;
            ss_name = "mpss";
        };

        lpass@0 {
            id = <0x2>;
            interrupts = <0xbc>;
            reg = <0x17c0000c 0x100>;
            tx-fifo-size = <0x4000>;
            tx-mtu-size = <0x1000>;
            ss_name = "lpass";
        };

        dsps@0 {
            id = <0x3>;
            interrupts = <0xca>;
            reg = <0x17c0000c 0x1000000>;
            tx-fifo-size = <0x4000>;
            tx-mtu-size = <0x1000>;
            ss_name = "dsps";
        };

        cdsp@0 {
            id = <0x5>;
            interrupts = <0x25e>;
            reg = <0x17c0000c 0x10>;
            tx-fifo-size = <0x4000>;
            tx-mtu-size = <0x1000>;
            ss_name = "cdsp";
        };
    };

interrupts = <0x25e>; --> 606 --> GLINK_IST_606

diag_service全景图

参考

80-NA157-61 Rev. YE 《Diagnostic System User Guide》

CCP2.1协议基础知识 CCP协议 CAN Calibration Protocol,CAN标定协议,ASAM标准的组成部分,属于ASAM MCD1a规范标准;是一种面向连接;主从模式; 功能: 1.随机读取ECU中的RAM和ROM数据 2.数据采样 3.数据的采样和传输 4.处理多个ECU 5.flash编程技术 通讯方式 polling,查询模式 Data Acquisition Command,数据采集指令 报文格式 命令报文(CRO):slave -> master 数据报文(DTO):master -> s 阅读详情

相关推荐

高通SA8255车机启动后,QNX系统里这几十个进程到底在忙啥?

本文深度解析高通SA8255车机启动后QNX系统中的关键进程,从内核到应用层详细剖析各进程功能与协作机制。涵盖系统基石、硬件抽象层、虚拟化安全隔离及网络服务栈,帮助开发者理解智能座舱系统的底层架构与性能优化技巧,特别适合车载系统开发与调试人员参考。

weixin_33726313的博客 296

什么是GLINK

这是一种新的点对点链路层传输协议.主要用于SOC中各个IP核之间通信。

kill150的专栏 9151

高通SA8255车机启动后,QNX系统里这30多个进程都是干嘛的?一个表格帮你理清

本文深入解析高通SA8255车机平台启动QNX系统后的30多个核心进程功能,包括内核层、驱动层、系统服务层等关键组件。通过详细的进程功能对照表和实用命令,帮助开发者快速理解各进程的协作机制,提升车载系统调试效率。特别关注SA8255与QNX的进程分析,为车载开发提供实用参考。

weixin_27013291的博客 383

高通功耗日调试12之Glink唤醒问题处理

❑ 问题背景 ❑ 从SM8150开始, MPROC通信机制GLINK有改动(80-PF777-4)。如遇到APPs被glink irq唤醒,处理方 法则有所改动 ❑ 问题解决 ❑ KBA-170331004714在新GLINK架构中不再适用(sys/module/ipc_router_core节点不存在) ❑ 请参考KBA-200427080824进行初步定位。 ❑ 请参考KBA-181212194604进行MPROC/IPC调试 ❑ 其中对于常见的sensor/modem导致的QMI 唤醒,.

彩虹的微笑的博客 3574

Android Qcom Audio入门学习

在devictree中可以发现有其实在PIL驱动并没有发生image加载过程,真正的加载有对应的子模块处理中,adsp就是在adsp-loader.c中通过init.qcom.rc启动时 write /sys/kernel/boot_adsp/boot 1 ,之后就会subsystem_get(“adsp”)获取并加载;其他例如slpi, 要看高通不同的平台子模块的组成,有些PIL是没有load slpi模块,sensor也是adsp中,

Android驱动开发 8626

RK3568 USB驱动开发_rk usb 控制器驱动

RK356x HOST2 第DTS节点名称定义如下: RK356x HOST2 DTS 配置如下: 2.USB 2.0 OTG 控制器 DTS 2.1.USB 2.0 OTG DTS (适配 dwc2 驱动): dr_mode:必须配置为 “host”, “peripheral” 或者 “otg”;g-rx-fifo-size:配置 Gadget mode 的 rx fifo 大小;g-np-tx-fifo-size:配置 Gadget mode 的 non-periodic tx fifo 大小;g-t

hnsgsdsagaaq的博客 1003

SA8255 Q+A QNX主要进程分析

基线:Snapdragon_Auto.HQX.4.5.6.0-00003.1-STD.PROD-1

kill150的专栏 6157

Android Qcom USB Driver学习(九)

该系列文章总目录链接与各部分简介:高通的某些平台将电源管理移植到了ADSP Subsystem, 分析一下其中比较关心的部分。

Android驱动开发 3206

note

CPU,此处CPU与BL芯片断开,没有连背光芯片。屏,此处屏与BL芯片断开,没有连背光芯片。虽然signal函数更简单些。行 3744: 07-22 23:56:01.139 <6>[ 5.577037][ T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:66, name:[qcom,mdss-dsi-apl-bl-mode-off-command], length:16, pkt-count=1。

m0_73462935的博客 10万+

AEB(自动紧急制动)

AEB系统对静止物体的误判率受多种因素影响,包括传感器精度、算法复杂性以及环境条件等。通过多传感器融合、算法优化、硬件升级以及环境适应性增强等技术手段,可以有效减少误判问题。美国和欧洲的AEB法规均强调了技术性能和安全性,但具体要求有所不同。美国的NHTSA规定更注重高速和复杂场景下的紧急制动能力,而欧盟的ECE R152法规则更侧重于基础的AEB功能覆盖范围。

百态·数智思维 | 聚焦大数据、量化与未来AI 2550

2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛A题 农业灌溉系统优化

该摘要探讨了农业灌溉系统优化面临的复杂挑战,涉及智能灌溉技术的应用与资源配置问题。研究聚焦于一个1公顷的方形农场案例,该农场种植三种作物并面临动态环境条件(土壤类型、气象变化)。系统优化需平衡河流引水(非线性成本函数:C=50L^1.2+0.1Q^1.5)与储水罐灌溉(成本5元/升容积)两种方案,同时满足喷灌技术约束(喷头间距≥15米,覆盖半径15米)。关键矛盾体现在"平河旱储"的水资源调配策略与多作物需水量差异之间的协调,需通过传感器数据实时调整灌溉方案以实现效率最大化。(149字)

m0_60472361的博客 642

CCP学习二——通信流程

1 概述   CCP通信按信息传输方式分为:POLLING(问答)和DAQ方式   按功能模式分为三种:SESSION(会话)、CAL(标定)、DAQ(查询)   工作流程一般为,程序初始化完成后,通过SET_S_STATE设置节点当前工作状态(Session/CAL/DAQ),若触发CAL和DAQ,需要在初始化时对该功能进行初始化。   正常情况下设置为会话模式(SESSION),需要CAL和D...

u014769180的博客 7440

AI赋能传染病建模:从数据到动力学模型的本地实践指南

这次我们来看一个将 AI 与传染病动力学建模结合的前沿方向。想象一下,你手头有一份流感爆发的病例数据,传统的建模方法可能需要复杂的微分方程和大量的手动调参,而 AI 模型能否直接从数据中“学习”出传播规律,甚至自动跑通整个建模流程?这正是当前研究的热点。根据《Nature》的最新综述,人工智能正在重塑传染病流行病学建模,从参数推断、趋势预测到多源数据融合,AI 技术为解决传统建模中的计算瓶颈和数据难题提供了全新路径。 对于开发者、数据科学家或公共卫生领域的研究者而言,最关心的是:这套方法能不能在本地跑起来?

weixin_29051811的博客 298

安卓高通Diag命令解析

一、命令发送 不同公司都有自己的独有的Diag测试命令,所以移植过来的指令可能还需要调整,在调试Diag命令时候如果如果把获取系统属性的命令调通,其他命令也类似。 使用Qxdm发送Diag命令 方法:打开Qxdm软件->选择相关端口 ->选择“CommandOut”模式 ->发送栏输入发送命令 需要注意发送格式“Send_data 0x80 0xFA 0x79 0x00 0x01”其中“0

Leonban的博客 2万+

SAP IDOC与EDI实战解析:从基础原理到跨系统采购订单同步

本文深入解析了SAP IDOC与EDI在企业数据交换中的核心作用,通过跨系统采购订单同步的实战案例,详细阐述了从基础原理到配置部署的全过程。文章将IDOC比作标准化数据“集装箱”,EDI视为高效传输“高速公路”,并提供了从消息类型定义、处理代码开发到全链路测试的完整指南,帮助企业实现自动化、无差错的业务协同。

weixin_28335283的博客 295

SAP PS模块预算控制实战:为什么你的采购订单金额和预算占用对不上?

本文深入解析SAP PS模块中采购订单金额与预算占用偏差的常见问题,揭示承诺成本与实际成本的分流处理机制。通过实战案例和六步定位法,提供发票拆分、跨年度预算等典型场景的解决方案,并分享预防性配置框架和最佳实践,帮助企业有效控制预算偏差。

weixin_30363981的博客 516

高通端口感叹号!!!解决方法

备注:windows 10系统最好切换成测试模式;(若无法切换请在bios页面 把“安全启动关闭”)a.由于高通芯片平台差异,部分新平台直接安装老版本驱动能避免此问题;(自测60版本可解决)设置>恢复与安全>恢复>立即重启>疑难解答>高级选项>启动设置> F7禁用。a.首先禁用驱动程序的数字签名(联想电脑举例)1.调试过程中高通diag口出现感叹号问题;2.高通下载9008端口出现感叹号问题;b.安装高通驱动(安装版驱动)

XsummerU的博客 9125

毕设-MobileNetV4:给YOLOv8装上轻量化“引擎”——通用瓶颈与C2f融合的实战教程

本文介绍了一种将MobileNetV4与YOLOv8结合的目标检测模型轻量化方案。MobileNetV4通过通用瓶颈(UB)结构实现多任务适配,其核心改进包括动态卷积核、注意力机制和多路径特征聚合,显著提升特征提取能力。作者详细阐述了如何在YOLOv8框架中实现MobileNetV4的通用瓶颈模块,包括"膨胀-卷积-注意力-压缩"的流程设计,并构建完整的backbone网络。该方案通过融合MobileNetV4的轻量化优势与YOLOv8的高效检测架构,在移动设备上实现了精度与速度的良好平

FJN110的博客 505

RPMsg:协议简介

对于非通用的操作系统,它上面很可能是没有搭载传统的TCP/IP协议栈的,因此,当主核想要通过RPC的方式调用从核上的服务的时候,便不能使用一般的RPC框架所采用的网络通信方式。为了最大限度的发挥他们的性能,协同完成某一任务,不同的核心上面运行的系统可能各不相同,有些核心上面运行的通用系统例如Linux、Android等,另外一些核心上可能运行的就是实时操作系统(RTOS)等。可能在不久的将来,RPMsg可以从一个事实上的标准变成一个真正的标准,毕竟,TCP/IP 也是这么过来的嘛。

kunkliu的博客 2161

【国产MCU系列】-GD32F4开发环境搭建(基于Embedded Builder)

GD32F4系列MCU采用Arm® Cortex®-M4内核,处理器主频高达240MHz,可支持算法复杂度更高的嵌入式应用,具备更快速的实时处理能力,并拥有业界领先的大容量存储优势。

视觉与物联智能 3080

升级conda时出现Malformed version string invalid chars错误解决方案

但有时,当你使用“conda upgrade”的命令时,你可能会遇到一个错误,提示你的环境解析失败,出现“Malformed version string invalid chars”错误消息。如果以上两个步骤都没有解决你的问题,那么你可以考虑更新conda的依赖项。如果你的conda版本已经是最新的,那么你需要清理conda的缓存。最后,如果以上方法都无法解决问题,你可以尝试使用pip进行更新。如果你的conda版本过旧,你需要先更新conda。首先,你需要确认你当前使用的conda版本。

BUG?不存在的! 1409

高通手机手动切换diag口

高通手机找不到diag口: 1、adb root 2、手动切diag口: setprop sys.usb.config diag,adb

yongxiang008的专栏 4042

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

关于Qualcomm平台的日志系统diag

qualcomm平台对网络参数通过usb传到PC

ZhangChengHai的专栏 6622

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

CCP协议

连接-确认版本-交换标识-获取密钥-解锁-设置会话状态。连接-将块的内存地址传入-下载块。连接-将块的内存地址传入-上载块。

qq_39669243的博客 8962

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

高通设备通过添加diag log监听来获取mcs参数

然后diag_log_listener_mcs是我们实现的回调函数,只要有0xB173这个log出现,程序就会进入回调函数里面执行我们想要做的事情,我们在回调函数里面主要实现获取MCS值。unit8定义的是一个字节,harq_id就是这个字节的低四位bit0-bit3,rv就是后面2位bit4-bit5,ndi就是bit6,crc_result就是bit7.至此,我们已经成功从0xB173这条log里面得到了MCS的值,通过这种方法,我们可以监听其他diag log,从里面获取很多我们想要的数据。

WyattYu的博客 1222

Android启动流程分析之一:Bootloader(基于高通芯片) 【mtk lk阶段有类似】

http://blog.youkuaiyun.com/ly890700/article/details/54586448 注:很多内容和MTK  LK阶段相同,可以借鉴学习。aboot.c内容差异很大。 本文以C6的bootlader代码为例,   一  kmain 1 crt0.S2 kmain 二  bootstrap2 1 arch_

ffmxnjm的博客 9204
上一篇: 高通座舱智驾芯片信息汇总
下一篇: Acronyms and terms (Qcom)
norlan_jame
博客等级 码龄16年 4568粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值