1、传感器在 adsp 处理器上调试信息两种类型:
可以打印字符串 log 文件(在编译时定义和固定格式和大小的消息时间)
2、可以用来查看调试信息的工具:adb logcat
QQXDM PRO(可以查看错误和信息性的打印字符串和日志) 和 QCAT(以人类可读格式
查看/解析日志数据包。这些工具需要 USB 连接,为传感器提供宏和 API。 将打印字符串和
日志数据包发送到工具的模块。应用处理器直接连接到 USB 端口。上的传感器模块
Apple 处理器可以直接调用宏和 API 来发送调试信息。ADSP 没有直接连接到 USB 端口。)
使用的方法:
发送调试信息(打印字符串和日志数据包)
应用程序处理器提供 ADSP。
3、传感器的调试信息
传 感 器 中 的 诊 断 信 息 可 以 显 示 关 于 ADSP 的 代 码 , 使 用 QXDM PRO , 这 也 允 许
基于消息的过滤水平。
(1) 打开 QXDM-f11;
(2) 右 键 单 击 项 目 查 看 器 并 选 择 消 息 包 。 选 择 目 标 上 的 过 滤 器 / 寄 存 器 项 目 。
通过共享内存上的 QMI 消息向
选择 SNS
(3) 在启动时,应用程序处理器成功地与 ADSP(通过 SMD),以下日志出现:
On success:
Waiting for SMGR service up
Get SMGR service information=>SMGR
is up at this point
Initialize client for SMGR
Register for SMGR error notification
On failure:
Unable to initialize service 0 with
QCCI or Timeout waiting for Service 0
This means that the sensors daemon
client (SAM or ACM) is unable to
establish a connection with the SMGR
service
4、采集传感器日志
(1)从启动时间捕获日志的推荐方法:
adb logcat -v time > log.txt
QXDM logs : 在 QXDM 启 用 传 感 器 日 志 数 据 包 和 MSG 数 据 包 , 收 集 以 下 内 容 :
MSG 数 据 包 [ 消 息 视 图 配 置 ] > > 消 息 包> > [ 已 知 消 息 ( 通 过 子 系 统 ) ] 单 击 SNS 。
log 日志包[消息视图配置] -> [日志包] > [已知日志项] > [公共],单击 SNS 重新启动设备。
尽快开始登录
在启动之前检查 QXDM 日志并等待以下日志在 QXDM 上显示。
例:
MSG [00053/01] SNS/Medium 06:56:13.331 sns_debug_main.c 00697 Set_log_mask: 14f0
enabled(1)/disabled(0)= 1
MSG [00053/01] SNS/Medium 06:56:13.332 sns_debug_main.c 00697 Set_log_mask: 14f1
enabled(1)/disabled(0)= 1
MSG [00053/01] SNS/Medium 06:56:13.332 sns_debug_main.c 00697 Set_log_mask: 14f2
enabled(1)/disabled(0)= 1
MSG [00053/01] SNS/Medium 06:56:13.332 sns_debug_main.c 00697 Set_log_mask: 14f3
enabled(1)/disabled(0)= 1
运行用例将文件保存为*.ISF。共享 ADB Logcat.txt 和 QXDM.ISF 文件用 QTI。
5、传感器应用程序处理器侧调试
ADSP 处理器调试是使用 ADB LogCAT 完成的。启用所有日志记录关于应用处理器侧的软件
组件,如 HAL 守护进程和 libsensor1 如下:
adb root && adb wait-for-device
adb remount && adb pull /system/build.prop .
vi build.prop
更改建置。道具,添加到下面。
persist.debug.sensors.hal=1
debug.qualcomm.sns.daemon=1
debug.qualcomm.sns.libsensor1=1
adb push build.prop /system
adb shell chmod 644 /system/build.prop
adb shell sync
adb reboot
收集 log
adb logcat -v time Sensors:* libsensor1:* qti_sensors_hal:* QSensorTest:* *:S
不同 log 水平
0 -禁用所有日志记录
1-启用所有日志记录
v -启用冗长和更高,等效于启用所有
d-启用调试和更高
i -启用信息和更高
w -启用警告和更高的默认值
e-启用错误日志记录
(2)获得启动时间日志
为了调试/打包目的,使用以下方法获得启动时间日志:
使用子系统重新启动应用程序处理器侧(HAL)和 ADSP 命令:
adb shell stop sensors
adb shell "echo 'related' > /sys/bus/msm_subsys/devices/subsys0/restart_level"
adb shell "echo 'restart' > /sys/kernel/debug/msm_subsys/adsp"
adb shell start sensors
这有助于查看驱动程序探针和 init 函数日志。