Edit online

调试指南

23 Jan 2024
Read time: 1 minute(s)

调试开关

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

    在 Luban 根目录下执行 make kernel-menuconfig,进入 kernel 的功能配置,调整内核的 log 等级。

    Kernel hacking--->
        printk and dmesg options--->
            (8) Default console loglevel (1-15)
    
  2. 打开调试开关
    Kernel hacking--->
        ArtInChip Debug--->
            [*] Pinctrl driver debug
    

debugfs 调试

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

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

    Kernel hacking--->
        Generic Kernel Debugging Instruments
            Debug Filesystem
                Debugfs default access(Access normal)--->
    
  2. 挂载 debugfs

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

    mount -t debugfs none /sys/kernel/debug
    

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

  3. 查看 debugfs 结点

    打开 debugfs 中 pinctrl 目录:

    cd /sys/kernel/debug/pinctrl
    

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