安卓高通Diag命令解析

一、命令发送
不同公司都有自己的独有的Diag测试命令,所以移植过来的指令可能还需要调整,在调试Diag命令时候如果如果把获取系统属性的命令调通,其他命令也类似。
使用Qxdm发送Diag命令
方法:打开Qxdm软件->选择相关端口 ->选择“CommandOut”模式 ->发送栏输入发送命令
需要注意发送格式“Send_data 0x80 0xFA 0x79 0x00 0x01”其中“0X”表示的十六进制数据,不可以省略。
如果发送后如果返回:
“unkowncommand”表示输入框中发送的命令有问题
“SendRawRequest- Failed to parse arguments”表示发送命令没有反馈,命令不通

二、代码分析
    结构体数组主要包含“命令码”和“回调函数”
    DIAG_SUBSYS_ID_TCT_CHARGING_ON为命令码
    tct_charging_on_func回调函数,当命令匹配时会到指定的函数执行操作
staticconst diagpkt_user_table_entry_type tct_charging_on_tbl[] =
{
{DIAG_SUBSYS_ID_TCT_CHARGING_ON,DIAG_SUBSYS_ID_TCT_CHARGING_ON, tct_charging_on_func},
};
PACK(void*) tct_charging_on_func(PACK(void*)req_pkt, uint16pkt_len)
{
//将获取到的参数放到返回包中返回
}
  如果添加一个Diag命令只需要根据接收命令的格式要求,修改对应的DIAG_SUBSYS_ID_TCT_CHARGING_ON宏就可以了,实现的功能在回调函数tct_charging_on_func内完成

三、问题与处理方法
使用Qxdm发送Diag命令时候无法得到信息反馈
root@gflip2:/# ps | grep "tct"
root 257 1 6464 1088 ffffffff b6ed2520 S /system/bin/tctd

root 287 1 4516 1076 ffffffff b6f23520 S/system/bin/tct_diag


你可能感兴趣的:(android,高通,移植,diag,tct,android)