欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

开发环境 - 调试工具的使用

程序员文章站 2022-03-03 20:57:43
...

额...这篇文章介绍的是公司内部的调试工具,仅习惯性在这边记录。


工具为:klsp_debug


首先,需要设置系统打印等级(否则无法正常使用该工具)

echo 8 >> /proc/sys/kernel/printk


然后,通过cat命令的方式,打印出调试工具的功能(类似help)

/ # cat /proc/sys/klsp/klsp_debug 

[KD_KMSG]: ++++++++++++++++++++++++++++++++++++++++++++++++
[KD_KMSG]: cmd:
[KD_KMSG]:     echo [node]#<args> ... > /proc/sys/klsp/klsp_debug
[KD_KMSG]: 
[KD_KMSG]: registerd node:
[KD_KMSG]:  node | name
[KD_KMSG]:     1 | memory
[KD_KMSG]:     2 | watchdog
[KD_KMSG]:     3 | led
[KD_KMSG]:     4 | hwmon
[KD_KMSG]:     5 | i2c_dev
[KD_KMSG]:     6 | at24c02info
[KD_KMSG]:     7 | gpio_dev
[KD_KMSG]:     8 | pinfo
[KD_KMSG]:     9 | vs100
[KD_KMSG]:    10 | sii9134
[KD_KMSG]: 
[KD_KMSG]: show usage with select node:
[KD_KMSG]:     echo [node] > /proc/sys/klsp/klsp_debug

[KD_KMSG]: ++++++++++++++++++++++++++++++++++++++++++++++++


可以看到,总共有1~10种功能,这次使用的是 5 | i2c_dev。

并且,这段打印中第三行也说明了,该如何使用调试工具。

以i2c为例,测试一下,输入

/ # echo 5 >> proc/sys/klsp/klsp_debug 

[KD_KMSG]: input: 5; len=1

[I2C_HELP]:
 usage: [cmd] [bit] [bus] [i2c] <reg> <val>
  cmd : writeb readb writereg writeregw readreg readreg_moreval writereg_moreval
  bit : register address width: 8/16 0=8bit
  bus : bus id, sim_base=0x0; std_base=0x100
  i2c : device i2c address
  reg : device register address
        if cmd = writeb: reg = byte to write
  val : cmd = readreg : val=sequence read end
        cmd = writereg: data to write single
可以看到,在5#后面添加这些命令,就可以调试i2c了。具有的功能可以是读写i2c寄存器等。