7.7.3. 调试指南

7.7.3.1. 调试开关

PINCTRL模块的驱动有一些dev_dbg调试信息,默认情况下是没有打开的,当需要跟踪调试时,可通过以下步骤打开这些调试信息。

7.7.3.1.1. 调整log等级

参考快速入门 - 编译概述 - Kernel配置,进入kernel的功能配置,调整内核的log等级。

Kernel hacking--->
    printk and dmesg options--->
        (8) Default console loglevel (1-15)

7.7.3.1.2. 打开调试开关

Kernel hacking--->
    ZX Debug--->
        [*] Pinctrl driver debug

7.7.3.2. debugfs调试

pinctrl子系统中实现了一些调试函数,可以打印各个gpio口的配置信息,所以可以利用debugfs查看信息,辅助调试。

7.7.3.2.1. 打开debugfs

SDK已默认打开了debugfs。也可以通过以下方式打开:

Kernel hacking--->
    Generic Kernel Debugging Instruments
        Debug Filesystem
            Debugfs default access(Access normal)--->

7.7.3.2.2. 挂载debugfs

内核启动后,需要手动挂载debugfs:

mount -t debugfs none /sys/kernel/debug

将debugfs挂载到/sys/kernel/debug目录下。

7.7.3.2.3. 查看debugfs结点

打开debugfs中pinctrl目录:

cd /sys/kernel/debug/pinctrl

可以看到该目录下有多个结点,可打印当前pinctrl各种信息,用于辅助调试。