调试指南
18 Dec 2024
Read time: 2 minute(s)
本节介绍 TSensor 调试步骤。
打开调试开关
-
在 SDK 根目录下,执行下列命令,进入 kernel 的功能配置界面:
make kernel-menuconfig
或使用简写命令
make km
- 在内核配置界面,按如下选择,打开调试开关:
Linux Kernel hacking ArtInChip Debug [*] Thermal Sensor driver debug
打开 DEBUG 选项后:-
驱动以
-O0
编译。 -
pr_dbg() 和 dev_dbg() 调试信息会被编译。
在系统运行时,如果要打印 pr_dbg() 和 dev_dbg() 信息,还需要调整 loglevel 为 8,可以通过以下两种方式实现:-
在 board.dts 中修改 bootargs,增加 “loglevel=8”
-
在板子启动到 Linux Shell 后,执行下列命令:
echo8 > /proc/sys/kernel/printk
-
-
Sysfs 节点
- 状态信息在 TSensor 驱动初始化成功后,会在 Sysfs 中注册生成一个
status
节点,其中打印了当前的 TSensor 配置及状态信息:cat /sys/devices/platform/soc/19253000.tsen/status
In Thermal Sensor V1.00: ch0: aic-tsen-cpu, Enable: 1, Value: 0 ch1: aic-tsen-adc, Enable: 1,Value: 0
- 读取温度
Linux Thermal 子系统提供一些 Sysfs 节点,可以用来获取温度值以及其他参数信息。
例如,/sys/class/thermal/ 目录提供了下列与温度相关的信息:- 列出可用的 thermal
zone:
cd /sys/class/thermal/
ls
输出示例如下:thermal_zone0 thermal_zone1
- 进入 thermal_zone0 目录,查看特定 thermal zone
的相关信息:
cd thermal_zone0/
ls
输出示例如下:available_policies k_po policy type hwmon0 k_pu slope uevent integral_cutoff mode subsystem k_d offset sustainable_power k_i passive temp
- 读取温度值
cat temp
输出示例如下,表示当前温度为 0:0
-
读取类型信息
cat type
输出示例如下:aic-tsen-cpu
- 读取温度值
- 列出可用的 thermal
zone: