diag_service的GLINK_IST是怎么来的

2024-02-05 10:30
文章标签 怎么 service diag glink ist

本文主要是介绍diag_service的GLINK_IST是怎么来的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

平台: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 threadspid 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》

这篇关于diag_service的GLINK_IST是怎么来的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680616

相关文章

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

使用TomCat,service输出台出现乱码的解决

《使用TomCat,service输出台出现乱码的解决》本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`... 目录使用TomCat,service输出台出现乱码问题1解决方案问题2解决方案总结使用TomCat,

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20